Skip to content
Snippets Groups Projects
Commit 1b1ce8cc authored by Ian Jackson's avatar Ian Jackson
Browse files

Drop remaining conversion from FooConfig to FooConfigBuilder

parent 56cb1cef
No related branches found
No related tags found
No related merge requests found
......@@ -104,14 +104,6 @@ impl Default for ClientAddrConfig {
}
}
impl From<ClientAddrConfig> for ClientAddrConfigBuilder {
fn from(cfg: ClientAddrConfig) -> ClientAddrConfigBuilder {
let mut builder = ClientAddrConfigBuilder::default();
builder.allow_local_addrs(cfg.allow_local_addrs);
builder
}
}
impl ClientAddrConfig {
/// Return a new [`ClientAddrConfigBuilder`].
pub fn builder() -> ClientAddrConfigBuilder {
......@@ -126,18 +118,6 @@ impl Default for StreamTimeoutConfig {
}
}
impl From<StreamTimeoutConfig> for StreamTimeoutConfigBuilder {
fn from(cfg: StreamTimeoutConfig) -> StreamTimeoutConfigBuilder {
let mut builder = StreamTimeoutConfigBuilder::default();
builder
.connect_timeout(cfg.connect_timeout)
.resolve_timeout(cfg.resolve_timeout)
.resolve_ptr_timeout(cfg.resolve_ptr_timeout);
builder
}
}
impl StreamTimeoutConfig {
/// Return a new [`StreamTimeoutConfigBuilder`].
pub fn builder() -> StreamTimeoutConfigBuilder {
......@@ -232,14 +212,6 @@ impl StorageConfig {
}
}
impl From<StorageConfig> for StorageConfigBuilder {
fn from(cfg: StorageConfig) -> StorageConfigBuilder {
let mut builder = StorageConfigBuilder::default();
builder.state_dir(cfg.state_dir).cache_dir(cfg.cache_dir);
builder
}
}
/// Configuration for system resources used by Tor.
///
/// You cannot change this section on a running Arti client.
......@@ -273,14 +245,6 @@ impl SystemConfig {
}
}
impl From<SystemConfig> for SystemConfigBuilder {
fn from(cfg: SystemConfig) -> SystemConfigBuilder {
let mut builder = SystemConfigBuilder::default();
builder.max_files(cfg.max_files);
builder
}
}
/// A configuration used to bootstrap a [`TorClient`](crate::TorClient).
///
/// In order to connect to the Tor network, Arti needs to know a few
......@@ -564,36 +528,6 @@ impl TorClientConfigBuilder {
}
}
impl From<TorClientConfig> for TorClientConfigBuilder {
fn from(cfg: TorClientConfig) -> TorClientConfigBuilder {
let TorClientConfig {
tor_network,
storage,
download_schedule,
override_net_params,
path_rules,
preemptive_circuits,
circuit_timing,
address_filter,
stream_timeouts,
system,
} = cfg;
TorClientConfigBuilder {
tor_network: tor_network.into(),
storage: storage.into(),
download_schedule: download_schedule.into(),
override_net_params,
path_rules: path_rules.into(),
preemptive_circuits: preemptive_circuits.into(),
circuit_timing: circuit_timing.into(),
address_filter: address_filter.into(),
stream_timeouts: stream_timeouts.into(),
system: system.into(),
}
}
}
#[cfg(test)]
mod test {
#![allow(clippy::unwrap_used)]
......
......@@ -31,14 +31,6 @@ pub struct ApplicationConfig {
watch_configuration: bool,
}
impl From<ApplicationConfig> for ApplicationConfigBuilder {
fn from(cfg: ApplicationConfig) -> Self {
let mut builder = ApplicationConfigBuilder::default();
builder.watch_configuration(cfg.watch_configuration);
builder
}
}
impl ApplicationConfig {
/// Return true if we're configured to watch for configuration changes.
pub fn watch_configuration(&self) -> bool {
......@@ -116,19 +108,6 @@ impl LoggingConfig {
}
}
impl From<LoggingConfig> for LoggingConfigBuilder {
fn from(cfg: LoggingConfig) -> LoggingConfigBuilder {
let mut builder = LoggingConfigBuilder::default();
if let Some(console) = cfg.console {
builder.console(console);
}
if let Some(journald) = cfg.journald {
builder.journald(journald);
}
builder
}
}
/// Configuration information for an (optionally rotating) logfile.
#[derive(Deserialize, Debug, Builder, Clone, Eq, PartialEq)]
pub struct LogfileConfig {
......@@ -221,14 +200,6 @@ impl ProxyConfig {
}
}
impl From<ProxyConfig> for ProxyConfigBuilder {
fn from(cfg: ProxyConfig) -> ProxyConfigBuilder {
let mut builder = ProxyConfigBuilder::default();
builder.socks_port(cfg.socks_port);
builder
}
}
/// Structure to hold Arti's configuration options, whether from a
/// configuration file or the command line.
//
......
......@@ -83,16 +83,6 @@ impl Default for PathConfig {
}
}
impl From<PathConfig> for PathConfigBuilder {
fn from(cfg: PathConfig) -> PathConfigBuilder {
let mut builder = PathConfigBuilder::default();
builder
.ipv4_subnet_family_prefix(cfg.ipv4_subnet_family_prefix)
.ipv6_subnet_family_prefix(cfg.ipv6_subnet_family_prefix);
builder
}
}
/// Configuration for preemptive circuits.
///
/// Preemptive circuits are built ahead of time, to anticipate client need. This
......@@ -244,18 +234,6 @@ impl CircuitTiming {
}
}
impl From<CircuitTiming> for CircuitTimingBuilder {
fn from(cfg: CircuitTiming) -> CircuitTimingBuilder {
let mut builder = CircuitTimingBuilder::default();
builder
.max_dirtiness(cfg.max_dirtiness)
.request_timeout(cfg.request_timeout)
.request_max_retries(cfg.request_max_retries)
.request_loyalty(cfg.request_loyalty);
builder
}
}
impl Default for PreemptiveCircuitConfig {
fn default() -> Self {
PreemptiveCircuitConfigBuilder::default()
......@@ -271,18 +249,6 @@ impl PreemptiveCircuitConfig {
}
}
impl From<PreemptiveCircuitConfig> for PreemptiveCircuitConfigBuilder {
fn from(cfg: PreemptiveCircuitConfig) -> PreemptiveCircuitConfigBuilder {
let mut builder = PreemptiveCircuitConfigBuilder::default();
builder
.disable_at_threshold(cfg.disable_at_threshold)
.initial_predicted_ports(cfg.initial_predicted_ports)
.prediction_lifetime(cfg.prediction_lifetime)
.min_exit_circs_for_port(cfg.min_exit_circs_for_port);
builder
}
}
/// Configuration for a circuit manager.
///
/// This configuration includes information about how to build paths
......
......@@ -63,16 +63,6 @@ impl Default for NetworkConfig {
}
}
impl From<NetworkConfig> for NetworkConfigBuilder {
fn from(cfg: NetworkConfig) -> NetworkConfigBuilder {
let mut builder = NetworkConfigBuilder::default();
builder
.fallback_caches(cfg.fallback_caches)
.authorities(cfg.authorities);
builder
}
}
impl NetworkConfig {
/// Return a new builder to construct a NetworkConfig.
pub fn builder() -> NetworkConfigBuilder {
......@@ -159,18 +149,6 @@ impl DownloadScheduleConfig {
}
}
impl From<DownloadScheduleConfig> for DownloadScheduleConfigBuilder {
fn from(cfg: DownloadScheduleConfig) -> DownloadScheduleConfigBuilder {
let mut builder = DownloadScheduleConfigBuilder::default();
builder
.retry_bootstrap(cfg.retry_bootstrap)
.retry_consensus(cfg.retry_consensus)
.retry_certs(cfg.retry_certs)
.retry_microdescs(cfg.retry_microdescs);
builder
}
}
/// Configuration type for network directory operations.
///
/// This type is immutable once constructed.
......
......@@ -19,7 +19,7 @@ We can delete older sections here after we bump the releases.
## Since Arti 0.1.0
arti-client:
arti-client, arti-config, tor-circmgr, tor-dirmgr:
Drop conversion from FooConfig to FooConfigBuilder for many Foo.
Further change in this area is expected.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment