<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-guardmgr/src/daemon.rs, branch arti-v0.3.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.3.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.3.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-04-07T15:33:34Z</updated>
<entry>
<title>GuardMgr: record clock skew information.</title>
<updated>2022-04-07T15:33:34Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-07T15:30:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=99146da2c2654c01259b8219bd491c5d4ac47039'/>
<id>urn:sha1:99146da2c2654c01259b8219bd491c5d4ac47039</id>
<content type='text'>
(It is not yet actually used.)
</content>
</entry>
<entry>
<title>Create and use API to report guard/fallback skew.</title>
<updated>2022-04-07T14:47:45Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-06T13:05:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c3c43b088e9f8dcbe876c277c3af14705244e8b0'/>
<id>urn:sha1:c3c43b088e9f8dcbe876c277c3af14705244e8b0</id>
<content type='text'>
(The information is not yet recorded.)
</content>
</entry>
<entry>
<title>Refactor tor-guardmgr's inter-task communication.</title>
<updated>2021-11-02T15:19:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-11-02T15:19:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=453855693b1d53a26fa8315f6d29a97b04cf8485'/>
<id>urn:sha1:453855693b1d53a26fa8315f6d29a97b04cf8485</id>
<content type='text'>
This is based on @eta's patches for !118 and !119: Since we already
have an unbounded channel, we don't need to use an elaborate mess of
one-shot senders.  We can just use the unbounded_send() method,
which also lets us enqueue a message without having to await.

Closes #219.
</content>
</entry>
<entry>
<title>Improve some documentation links</title>
<updated>2021-10-29T12:39:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-29T12:39:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ee24ce6537373448d8fd5fb074768c6887cb90b'/>
<id>urn:sha1:1ee24ce6537373448d8fd5fb074768c6887cb90b</id>
<content type='text'>
Instead of putting a fully qualified name in the text, in most cases
we should just use the short name of the type or function we're
referring to.

In other words, instead of saying [`crate::module::Foo`], we should
typically say [`Foo`](crate::module::Foo).
</content>
</entry>
<entry>
<title>Rename GuardStatusMsg, make it public, add an `Indeterminate` case.</title>
<updated>2021-10-13T14:55:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-13T14:55:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e625b2cff5f3f1c04ecaa026c46c0ea82e824b1a'/>
<id>urn:sha1:e625b2cff5f3f1c04ecaa026c46c0ea82e824b1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use an mpsc::unbounded() channel in GuardMgr.</title>
<updated>2021-10-10T16:08:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-10T16:08:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=34c10feae40d9b0822478e24f01d804e5576b59e'/>
<id>urn:sha1:34c10feae40d9b0822478e24f01d804e5576b59e</id>
<content type='text'>
The advantage here is that we no longer have to use a futures-aware
Mutex, or a blocking send operation, and therefore can simplify a
bunch of the GuardMgr APIs to no longer be async.  That'll avoid
having to propagate the asyncness up the stack.

The disadvantage is that unbounded channels are just that: nothing
in the channel prevents us from overfilling it.  Fortunately, the
process that consumes from the channel shouldn't block much, and
the channel only gets filled when we're planning a circuit path.
</content>
</entry>
<entry>
<title>Tests for top-level GuardMgr.</title>
<updated>2021-10-07T16:09:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-10-06T21:19:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=00acc5c5b80ed000f14376734f41afb819bd27c4'/>
<id>urn:sha1:00acc5c5b80ed000f14376734f41afb819bd27c4</id>
<content type='text'>
Also, refactor our message handling to be more like the tor_proto
reactors.  The previous code had a bug where, once the stream of
events was exhausted, we wouldn't actually get any more
notifications.
</content>
</entry>
<entry>
<title>Initial backend implementation for guard node manager.</title>
<updated>2021-10-07T14:45:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-09-10T15:18:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0779923d6474bb72427d19b2e504b3fd370b78a2'/>
<id>urn:sha1:0779923d6474bb72427d19b2e504b3fd370b78a2</id>
<content type='text'>
There are some missing parts here (like persistence and tests)
and some incorrect parts (I am 90% sure that the "exploratory
circuit" flag is bogus).  Also it is not integrated with the circuit
manager code.
</content>
</entry>
</feed>
