<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr/src/preemptive.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-05-04T12:50:10Z</updated>
<entry>
<title>Change builder list API</title>
<updated>2022-05-04T12:50:10Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-04T12:32:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4bca91271558d950092fb1ac51c1316655d293cb'/>
<id>urn:sha1:4bca91271558d950092fb1ac51c1316655d293cb</id>
<content type='text'>
The new API is (roughly) as discussed in
  https://gitlab.torproject.org/tpo/core/arti/-/issues/451

This is quite a large commit and it is not convenient to split it up.
It contains the following changes:

 * Redo the list builder and accessor macros implemnetation,
   including docs and tests.

 * Change uses of define_list_config_builder.  In each case:
   - Move the docs about the default value to the containing field.
   - Remove the other docs (which were just recapitulations, and
     are now not needed since the ListBuilder is no longer public).
   - Rewmove or replace `pub` in the define_list_builder_helper call,
     so that the builder is no longer public.
   - Change the main macro call site to use define_list_builder_helper.
   - Add a call to define_list_builder_accessors.

 * Make the module `list_builder` pub so that we have somewhere to
   put the overview documentation.

 * Consequential changes:
   - Change `outer.inner().replace(X)` to `outer.set_inner(X)`
   - Consequential changes to imports (`use` statements).
</content>
</entry>
<entry>
<title>Rename ThingListBuilder::replace (from set)</title>
<updated>2022-04-25T17:15:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-25T15:55:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1f215da1a32af7e7bbac7e8314858659c6d59c4e'/>
<id>urn:sha1:1f215da1a32af7e7bbac7e8314858659c6d59c4e</id>
<content type='text'>
As per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/471#note_2798024
</content>
</entry>
<entry>
<title>Introduce PredictedPortsListBuilder</title>
<updated>2022-04-25T16:05:30Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-25T13:33:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=24518675dbd2e649b554ecc0117ea62ede11b292'/>
<id>urn:sha1:24518675dbd2e649b554ecc0117ea62ede11b292</id>
<content type='text'>
This means that `NetworkConfig::initial_predicted_ports` is now like
the other list-like things, returning `&amp;mut list_builder` with the same
`set()` and `append()` methods.
</content>
</entry>
<entry>
<title>move isolation in separate module</title>
<updated>2022-03-24T18:43:54Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-03-24T18:43:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8dc6e958aa305236054a43c0db74dda9176e0702'/>
<id>urn:sha1:8dc6e958aa305236054a43c0db74dda9176e0702</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add trait to help test isolation related code</title>
<updated>2022-03-16T18:24:23Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-03-15T23:30:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4eb90b72c04b34fb54baa197b1bf85734a769f64'/>
<id>urn:sha1:4eb90b72c04b34fb54baa197b1bf85734a769f64</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix existing tests</title>
<updated>2022-03-16T18:23:21Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-03-12T09:32:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=234291f666c062a364685fda24aa46d59c6caf38'/>
<id>urn:sha1:234291f666c062a364685fda24aa46d59c6caf38</id>
<content type='text'>
</content>
</entry>
<entry>
<title>preemptive.rs: Use Instant::checked_add instead of raw subtraction</title>
<updated>2021-12-20T19:27:55Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-12-20T19:27:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=091065454e86b81052689bd2ba704045f86694ad'/>
<id>urn:sha1:091065454e86b81052689bd2ba704045f86694ad</id>
<content type='text'>
The implementations of `Add` / `Sub` (et al.) on `std::time::Instant`
can panic if the underlying OS structure can't represent the result
(like arti#266). Use Instant::checked_add and print a warning instead,
to prevent panicking.

Also, we now add instead of subtracting; I suspect it's reasonable that
you might not be able to go backward past the first `Instant` created on
some platforms, but going *forward* should probably work?
</content>
</entry>
<entry>
<title>Minor circuit predictor tweaks and comments.</title>
<updated>2021-12-07T21:48:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T21:48:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cac4ce759e70700a13ad75cf2eb1c3e2234cf4c1'/>
<id>urn:sha1:cac4ce759e70700a13ad75cf2eb1c3e2234cf4c1</id>
<content type='text'>
Most notably, make min_exit_circs_for_port actually get used.

Also add a couple of comments.
</content>
</entry>
<entry>
<title>Make preemptive circuits reconfigurable.</title>
<updated>2021-12-07T21:42:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2021-12-07T21:42:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0f8d6207578e6fabd8470df7745bfb7c342cf408'/>
<id>urn:sha1:0f8d6207578e6fabd8470df7745bfb7c342cf408</id>
<content type='text'>
This required re-centralizing the configuration object for preemptive
circuits, since previously the settings from it were a bit spread out
over the crate.
</content>
</entry>
<entry>
<title>Allow configurability on preemptive circuits</title>
<updated>2021-12-07T15:04:41Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2021-12-07T15:04:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0e9c2d274ef5a1f3a21579d43ced512f17656797'/>
<id>urn:sha1:0e9c2d274ef5a1f3a21579d43ced512f17656797</id>
<content type='text'>
</content>
</entry>
</feed>
