<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver/src/cancel.rs, branch arti-v1.4.4</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-03-18T16:09:44Z</updated>
<entry>
<title>squash! Upgrade rand dependency to 0.9.</title>
<updated>2025-03-18T16:09:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-03-18T13:01:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f8993c22c2b86010e4fd8b5169ef0ab83f8c754'/>
<id>urn:sha1:2f8993c22c2b86010e4fd8b5169ef0ab83f8c754</id>
<content type='text'>
- `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
</content>
</entry>
<entry>
<title>tor-rtmock: allow-Decorate every use of MockSleepProvider</title>
<updated>2025-03-06T17:18:52Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-06T16:57:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a4054ed0d51e7c55946bde3c247190c9bbeef6fb'/>
<id>urn:sha1:a4054ed0d51e7c55946bde3c247190c9bbeef6fb</id>
<content type='text'>
MockSleepProvider and MockSleepRuntime have been declared deprecated
by the docs for some time.  We're about to mark them `#[deprecated]`.

This commit has been split out for clarity of review.
</content>
</entry>
<entry>
<title>cancel: Document deadlock/panic issue and how to avoid it.</title>
<updated>2025-01-23T00:39:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-22T16:06:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7a87b684575bc7da4a899f66dcb0ec3bea140fff'/>
<id>urn:sha1:7a87b684575bc7da4a899f66dcb0ec3bea140fff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cancel: Add a TODO about moving the Future inside the lock.</title>
<updated>2025-01-23T00:39:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-21T15:35:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d8d47f4d82b1ee1927a8d403d4186acefa09d0e5'/>
<id>urn:sha1:d8d47f4d82b1ee1927a8d403d4186acefa09d0e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cancel: Drop lock before calling waker.</title>
<updated>2025-01-23T00:39:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-21T14:51:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ffca1afad93252673bccdd75e7df7c7851a97efa'/>
<id>urn:sha1:ffca1afad93252673bccdd75e7df7c7851a97efa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cancel: Remove FusedFuture implementation.</title>
<updated>2025-01-23T00:39:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-21T14:46:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=552250eb53bbaaeac7a7300bc6db1981a1d8dfae'/>
<id>urn:sha1:552250eb53bbaaeac7a7300bc6db1981a1d8dfae</id>
<content type='text'>
Nothing used it, and it has some semantic complexity.
(see
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2722#note_3149591
)
</content>
</entry>
<entry>
<title>cancel: Use Waker::clone_from to avoid needless clones.</title>
<updated>2025-01-23T00:39:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-21T14:41:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=51a3503f6dcbfa397827505a6801a72df17fa250'/>
<id>urn:sha1:51a3503f6dcbfa397827505a6801a72df17fa250</id>
<content type='text'>
The Waker::clone_from implementation uses Waker::will_wake
to avoid unnecessarily cloning a Waker that it already
has a copy of.
</content>
</entry>
<entry>
<title>rpc: Strengthen guarantees from Cancel.</title>
<updated>2025-01-16T20:04:54Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-16T19:27:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b2ae2f26a6e4dc640f430c942688754834fb0bda'/>
<id>urn:sha1:b2ae2f26a6e4dc640f430c942688754834fb0bda</id>
<content type='text'>
Cancellation is now fallable, which allows us to detect attempts
to cancel which cannot work.

We now guarantee that when you try to cancel a `Cancel&lt;F&gt;` future,
either the cancel operation will succeed, or the future will return
(or will have already returned) Ok(), but not both, and not neither.

Closes #818.
</content>
</entry>
<entry>
<title>extract tor_async_utils::oneshot into ::oneshot-fused-workaround</title>
<updated>2024-08-28T14:27:46Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-22T19:20:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=46f7f01092e6ac55e3e958dc3a2228b1d36e26a1'/>
<id>urn:sha1:46f7f01092e6ac55e3e958dc3a2228b1d36e26a1</id>
<content type='text'>
Having this in the `tor-async-utils` crate prevents us from doing both
of the following without introducing a circular dependency:

* using it in `tor-rtmock` (which we currently do, particularly in
  tests).
* using `tor-rtmock` to test things in `tor-async-utils`. We don't do
  this yet, but it is generally sensible to do so. In particular we
  want to move the `stream_peak` module there, which is currently tested
  with `tor-rtmock`.

Moving this into its own crate avoids this circular dependency.
</content>
</entry>
<entry>
<title>Run maint/add_warning.</title>
<updated>2024-03-13T16:30:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-13T16:30:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c'/>
<id>urn:sha1:c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c</id>
<content type='text'>
</content>
</entry>
</feed>
