<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr, branch arti-v0.1.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-03-01T13:59:34Z</updated>
<entry>
<title>Bump all crates to 0.1.0</title>
<updated>2022-03-01T13:59:34Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-01T13:59:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e8e9791a9757a32779657c5284b380ae91ca7979'/>
<id>urn:sha1:e8e9791a9757a32779657c5284b380ae91ca7979</id>
<content type='text'>
</content>
</entry>
<entry>
<title>resolve comment</title>
<updated>2022-02-28T19:05:17Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-02-28T19:05:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0fc7f40575c1cccc3a90d4dc0323d3d1d3508e22'/>
<id>urn:sha1:0fc7f40575c1cccc3a90d4dc0323d3d1d3508e22</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add some error to retry_error instead of dropping it</title>
<updated>2022-02-28T18:30:40Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-02-28T18:25:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2d430ea69e878e9b8eeabf64096d0a18a8ca02f1'/>
<id>urn:sha1:2d430ea69e878e9b8eeabf64096d0a18a8ca02f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'teardown' into 'main'</title>
<updated>2022-02-28T15:16:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-28T15:16:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=be288399ec809c46905b9f02599fa9df66968f51'/>
<id>urn:sha1:be288399ec809c46905b9f02599fa9df66968f51</id>
<content type='text'>
tor-circmgr: take_action: Handle Cancelled from the oneshot

Closes #365

See merge request tpo/core/arti!363</content>
</entry>
<entry>
<title>Merge branch 'fix/210' into 'main'</title>
<updated>2022-02-28T13:16:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-28T13:16:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=12a83e9661e509e706752c28bb7136ff30432523'/>
<id>urn:sha1:12a83e9661e509e706752c28bb7136ff30432523</id>
<content type='text'>
don't return already errored pending circuit when searching new circuit matching spec

Closes #210

See merge request tpo/core/arti!366</content>
</entry>
<entry>
<title>Add a debug! log message for source cancellation</title>
<updated>2022-02-28T12:52:38Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-02-28T12:52:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=23f8d33d4db406275b22f507ae8174a2a5c421c7'/>
<id>urn:sha1:23f8d33d4db406275b22f507ae8174a2a5c421c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix rustfmt</title>
<updated>2022-02-28T12:36:48Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-02-28T12:36:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6d01c60925c3f42bb91f3aa295d4b71261a18aa6'/>
<id>urn:sha1:6d01c60925c3f42bb91f3aa295d4b71261a18aa6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix two typos</title>
<updated>2022-02-28T11:21:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-28T11:21:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=76d8338640a3d192f69039b6ec086cddb98e71e8'/>
<id>urn:sha1:76d8338640a3d192f69039b6ec086cddb98e71e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>don't return already errored pending circuit when searching new circuit matching spec</title>
<updated>2022-02-27T12:16:03Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-02-27T12:16:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5323825964263b5d59d7f22d0d11d763566ed8d9'/>
<id>urn:sha1:5323825964263b5d59d7f22d0d11d763566ed8d9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-circmgr: take_action: Handle Cancelled from the oneshot</title>
<updated>2022-02-25T18:10:36Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-02-25T17:47:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dbf019e4265c4a1b361844df5b142f1553d8956e'/>
<id>urn:sha1:dbf019e4265c4a1b361844df5b142f1553d8956e</id>
<content type='text'>
Fixes #365

Inspection of the code and logs shows that:
 * One of the plan futures' oneshots must be returning Cancelled
 * This means that the corresponding sender must have been dropped
 * The sender is owned by the task spawned by spawn_launch
Presumably that entire task gets dropped as part of executor shutdown,
or something.

The correct response in this situation is to declare that we are
shutting down, and stop trying to do stuff.

Unfortunately, despite trying quite hard by putting sleeps in various
strategic places, I have not been able to reproduce the problem.  So I
can't be 100% sure that the new behaviour is correct.

But I am reasonably confident that this ought not to be able to occur
unless either 1. the task from spawn_launch is dropped, or 2. that
task somehow panics despite its attempts to trap panics and report
them as errors through the oneshot.

So this "burn it all down" action ought only to occur in actually
serious situations.

I observe that
  3ff9b187ea26aaec4875067fcdbf485ecc9f597d
  Handle panics from circuit construction.
changed the EK for PendingCanceled to EK::ReactorShuttingDown,
and there's From impl.  I think, therefore, that it is right
to reuse this Error variant.

I don't quite understand why when take_action gets an actual error it
doesn't push it, but just logs it.  But I am not changing that for
now.

Arguably the two instances of retry_error.push are a sign of an
inferior flow control pattern - maybe the loop body including the code
I am adding ought to be an IEFE returning
`Result&lt;Option&lt;circ&gt;, crate::Error&gt;`.
</content>
</entry>
</feed>
