<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-netdir/src, branch arti-v0.2.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.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-03-30T14:34:48Z</updated>
<entry>
<title>Move fallback.rs into guardmgr.</title>
<updated>2022-03-30T14:34:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T17:38:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=80b65c3a4d4108c6b4b0cb91722f89c8e5859b7d'/>
<id>urn:sha1:80b65c3a4d4108c6b4b0cb91722f89c8e5859b7d</id>
<content type='text'>
This is the logical place for it, I think: the GuardMgr's job is to
pick the first hop for a circuit depending on remembered status for
possible first hops.  Making this change will let us streamline the
code that interacts with these objects.
</content>
</entry>
<entry>
<title>Merge branch 'disallowed_lint' into 'main'</title>
<updated>2022-03-30T14:02:13Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-03-30T14:02:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5d27710ef1bdd80a9260204acd25d1f11834141e'/>
<id>urn:sha1:5d27710ef1bdd80a9260204acd25d1f11834141e</id>
<content type='text'>
Remove allow(clippy::disallowed_methods) lint flag.

See merge request tpo/core/arti!437</content>
</entry>
<entry>
<title>Make daemon tasks self-contained; introduce NetDirProvider</title>
<updated>2022-03-30T13:26:43Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-03-28T12:54:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac64bdea2744c6cd0ede0562954efcfe479afd94'/>
<id>urn:sha1:ac64bdea2744c6cd0ede0562954efcfe479afd94</id>
<content type='text'>
The various background daemon tasks that `arti-client` used to spawn are
now handled inside their respective crates instead, with functions
provided to spawn them that return `TaskHandle`s.

This required introducing a new trait, `NetDirProvider`, which steals
some functionality from the `DirProvider` trait to enable `tor-circmgr`
to depend on it (`tor-circmgr` is a dependency of `tor-dirmgr`, so it
can't depend on `DirProvider` directly).

While we're at it, we also make some of the tasks wait for events from
the `NetDirProvider` instead of sleeping, slightly increasing
efficiency.
</content>
</entry>
<entry>
<title>Remove allow(clippy::disallowed_methods) lint.</title>
<updated>2022-03-30T12:55:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-30T12:55:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=700e491813f84d76446193aef7121a329b774717'/>
<id>urn:sha1:700e491813f84d76446193aef7121a329b774717</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'no-system-time' into 'main'</title>
<updated>2022-03-30T12:44:25Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-03-30T12:44:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fd081742fa13e8464ad46123d83617165587d4f4'/>
<id>urn:sha1:fd081742fa13e8464ad46123d83617165587d4f4</id>
<content type='text'>
Don't use SystemTime::now()

Closes #306

See merge request tpo/core/arti!365</content>
</entry>
<entry>
<title>netdir: Use an even smaller rep for list of microdescs</title>
<updated>2022-03-16T15:52:47Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-16T15:52:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c3e74973b4201f71275d8cf4c0c954cfb8d0eba5'/>
<id>urn:sha1:c3e74973b4201f71275d8cf4c0c954cfb8d0eba5</id>
<content type='text'>
Every time we want a microdescriptor, we know the index of that
microdesc's corresponding routerstatus within the consensus.
Therefore, we can use that index to store `Arc&lt;Microdesc&gt;`s in a
dense array, and not have to use a HashSet here at all.
</content>
</entry>
<entry>
<title>tor-dirmgr: Remove redundant hashtable.</title>
<updated>2022-03-16T15:33:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-16T15:33:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=76df9e4014620292175467936a8e60df6a47e5ac'/>
<id>urn:sha1:76df9e4014620292175467936a8e60df6a47e5ac</id>
<content type='text'>
We were using a hashtable to keep track of missing microdescriptor
digests.  But this information is redundant with the NetDir state,
and there's now no longer any performance benefit to keeping a
separate copy.

Part of #386.
</content>
</entry>
<entry>
<title>NetDir: Use less space in hash tables</title>
<updated>2022-03-16T15:12:15Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-16T15:12:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=233613cd79b2a7b025e5127380ac99acb4c1439d'/>
<id>urn:sha1:233613cd79b2a7b025e5127380ac99acb4c1439d</id>
<content type='text'>
We previously kept missing-MD entries and present-MD entries all in
the same HashSet, which resulted in using more slack space than we
need.  Now we use separate tables, so we can drop missing-MD
entries as we move forward.

Also, when constructing a NetDir, set its hash tables to their final
capacities.

This also lets us simplify some of our missing-md-listing code a
lot.
</content>
</entry>
<entry>
<title>Derive Deserialize for derive-builder-generated config builders</title>
<updated>2022-03-07T15:58:53Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-03-04T14:22:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5203311a977f18f9b908907f9fd3b24cded84b51'/>
<id>urn:sha1:5203311a977f18f9b908907f9fd3b24cded84b51</id>
<content type='text'>
I used
  git-grep -P '\#\[serde\((?!default|deny_unknown)'
to find places where I needed to add additional attributes on the
builder method fields.

This is currently a bit duplicative, but when #371 is completely done,
the validated (non-builder) configs won't need to be Deserialize any
more.

This is part of #371 and #372.
</content>
</entry>
<entry>
<title>use wallclock where possible in tests</title>
<updated>2022-02-25T23:33:44Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-02-25T23:33:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f06b25601006ba42c427349837dca6d5634bc718'/>
<id>urn:sha1:f06b25601006ba42c427349837dca6d5634bc718</id>
<content type='text'>
</content>
</entry>
</feed>
