summaryrefslogtreecommitdiff
path: root/crates/arti-config/src/options.rs
Commit message (Collapse)AuthorAgeFilesLines
* Change sane_defaults() and with_directories()Nick Mathewson2021-11-291-1/+1
| | | | | | | | The sane_defaults() call is now the same as you get from a default builder: by convention, we just call that method Default::default(). The with_directories() constructor makes more sense as a constructor for the TorClientConfigBuilder than for TorClientConfig.
* Document StorageConfig defaults better.Nick Mathewson2021-11-291-8/+11
| | | | (Also fix a couple of typos)
* Add basic tests for high-level buildersNick Mathewson2021-11-251-0/+57
| | | | | Make sure that we can change elements, and we can reconstruct builders that give us the same thing.
* Implement builder patterns for ArtiConfig.Nick Mathewson2021-11-251-5/+179
| | | | | | | | This commit implements the "metabuilder" pattern and the "builder reconstruction" pattern for the ArtiConfig type. I'm not 100% that this will be necessary, but it will certainly help with testing.
* Impl and test Default for high-level configsNick Mathewson2021-11-251-3/+22
|
* Implement meta-builder pattern for TorClientConfigNick Mathewson2021-11-221-10/+27
| | | | | This should be ergonomic than having to construct every section of the configuration separately.
* Make every Config type implement Eq.Nick Mathewson2021-11-211-3/+3
| | | | | Doing this is necessary for reconfiguration support, and will help a lot with testing, too.
* For every* config type, make defaults consistent.Nick Mathewson2021-11-211-0/+17
| | | | | | | | | | This patch makes sure that for every* config type we have, the defaults you get from a Builder match those you get from Serde, and that both match the value that you get from arti_defaults.toml. Later down the line I'll be adding some tests to keep these in sync. * StorageConfig still has no defaults of its own, since we aren't so sure we want other applications to use Arti's directories by default.
* Give every ConfigBuilder a From<Config> implementation.Nick Mathewson2021-11-211-0/+18
| | | | This will make it more convenient to reconfigure things.
* Ensure that every section-level config type has a builder() function.Nick Mathewson2021-11-211-2/+17
|
* Make arti-client config object match arti config better.Nick Mathewson2021-11-211-34/+8
| | | | | | | | Now every section that the two configuration objects share has the same type and name. This should help us in documenting our configuration in a way that doesn't confuse people. There is still lots of API work to go.
* Lower StorageConfig to arti-client crateNick Mathewson2021-11-211-36/+2
|
* Use named fields for the elements of ConfigBuildErrorNick Mathewson2021-11-181-2/+8
|
* Move the socks_port option into a new proxy section.Nick Mathewson2021-11-181-7/+22
| | | | Now there are no options that aren't in a toml section.
* Rename the "network" configuration section to "tor_network".Nick Mathewson2021-11-181-2/+2
| | | | | This is more accurate, since it describes the details of the tor network that we're connecting to.
* Rename addr_config to address_filter; clarify its usage.Nick Mathewson2021-11-181-3/+3
|
* Flatten enforce_distance into path_rules.Nick Mathewson2021-11-181-1/+1
| | | | Also use the path_rules name consistently throughout the code.
* Fold "circuit_timing" and "request_timing" into a single section.Nick Mathewson2021-11-181-5/+1
|
* Move top-level configuration downwards from `arti` to `arti-config`.Nick Mathewson2021-11-181-0/+181
To do this at all neatly, I had to split out `tor-config` from `arti-config` again, and putting the lower level stuff (paths, builder errors) into tor-config. I also changed our use of derive_builder to always use a common error type, to avoid error type proliferation.