<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti/src/cfg.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-05T09:35:52Z</updated>
<entry>
<title>config derive attrs: Make builders serde, and validated structs not</title>
<updated>2022-05-05T09:35:52Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-04T16:45:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d47e94b45993162fece0d1bdfa4d3da0407a4861'/>
<id>urn:sha1:d47e94b45993162fece0d1bdfa4d3da0407a4861</id>
<content type='text'>
 * Builders additionally derive: Debug, Serialize, Deserialize.

 * Validated structs no longer derive: Serialize, Deserialize
   and all related attributes deleted.

 * As a consequence, all the `#[serde(deny_unknown_fields)]`
   are gone.  That means that right now unknown fields are totally
   ignored.  This is good for compatibility but poor for useability.
   Doing something better here is arti#417, in progress.

 * As a consequence, delete tor_dirmgr::retry::default_parallelism.
   (The default value was already duplicated into a builder attr.)
</content>
</entry>
<entry>
<title>FallbackDir: Use VecBuilder for orports</title>
<updated>2022-05-04T16:18:55Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T15:20:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ad4cae4180981856676f675e32117b683518f4e'/>
<id>urn:sha1:4ad4cae4180981856676f675e32117b683518f4e</id>
<content type='text'>
And drop the ad-hoc orport() method.  This brings FallbackDir's
orports field in line with our list builder API.

The general semver note in "configuation" seems to cover most of this.
</content>
</entry>
<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>Merge branch 'download-schedule' into 'main'</title>
<updated>2022-04-26T18:47:08Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-26T18:47:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5484bcc21f89d19d30e6351670c36359c132f718'/>
<id>urn:sha1:5484bcc21f89d19d30e6351670c36359c132f718</id>
<content type='text'>
DownloadSchedule: Introduce Builder

See merge request tpo/core/arti!473</content>
</entry>
<entry>
<title>DownloadSchudule: Have NetworkConfig contain Builders</title>
<updated>2022-04-26T14:16:32Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-26T13:46:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eb35555330d84ef931dbfd446f5495ff0172b17e'/>
<id>urn:sha1:eb35555330d84ef931dbfd446f5495ff0172b17e</id>
<content type='text'>
Use sub_builder.  We must do something special for defaults.

This involves moving the actual default values for retry_bootstrap and
retry_microdescs into config.rs, since they need to access the fields
of the un-built version of the structure.  (An alternative would be to
generate "weak setters" which do not override previous settings, but
derive_builder does not offer to generate them and that seems
overkill.)
</content>
</entry>
<entry>
<title>DownloadSchedule: Abolish new() method</title>
<updated>2022-04-26T14:16:32Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-04-25T18:26:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f4a1e34beebbd891f2a3f1474028ac6ac7f738b2'/>
<id>urn:sha1:f4a1e34beebbd891f2a3f1474028ac6ac7f738b2</id>
<content type='text'>
Instead, everyone should use DownloadScheduleBuilder.

The new() method would in any case be useless in a moment, since we're
going to embed DownloadScheduleBuilder in the NetworkConfig, not
DownloadSchedule.

The call sites in the tests are all about to change again.
</content>
</entry>
<entry>
<title>Merge branch 'main' into 'msrv_1_56'</title>
<updated>2022-04-26T12:45:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-26T12:45:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c1ea419477aff51317becf70526ede69aa447ae9'/>
<id>urn:sha1:c1ea419477aff51317becf70526ede69aa447ae9</id>
<content type='text'>
# Conflicts:
#   crates/tor-config/Cargo.toml
#   crates/tor-dirmgr/src/state.rs
#   doc/semver_status.md</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>squash! Bump every crate's edition to 2021.</title>
<updated>2022-04-25T17:06:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-25T16:40:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f6bc6bdc431fa36de70a167eea777dcf3f60bf2'/>
<id>urn:sha1:2f6bc6bdc431fa36de70a167eea777dcf3f60bf2</id>
<content type='text'>
Remove all `use` statements for `TryFrom` and `TryInto`.  These are
now redundant in Rust 2021.
</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>
</feed>
