<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver/src/cancel.rs, branch arti-v1.4.0</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.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-01-23T00:39:58Z</updated>
<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>
<entry>
<title>oneshot: Use veneer in arti-rpcserver</title>
<updated>2023-10-11T15:19:46Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-10-11T14:30:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cf1fb9120a4d1e53c804c1a23f4bab13ed8b48ad'/>
<id>urn:sha1:cf1fb9120a4d1e53c804c1a23f4bab13ed8b48ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run maint/add_warning to add lint block everywhere</title>
<updated>2023-08-23T09:34:00Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-08-22T14:28:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac'/>
<id>urn:sha1:42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac</id>
<content type='text'>
</content>
</entry>
</feed>
