diff --git a/src/net/connector.rs b/src/net/connector.rs
index 84a391ef0..f4b041f68 100644
--- a/src/net/connector.rs
+++ b/src/net/connector.rs
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-use std::time::Duration;
+use std::{sync::Arc, time::Duration};
use futures::{
future::{select, Either},
@@ -29,7 +29,7 @@ use super::{
channel::{Channel, ChannelPtr},
hosts::HostColor,
session::SessionWeakPtr,
- settings::SettingsPtr,
+ settings::Settings,
transport::Dialer,
};
use crate::{system::CondVar, Error, Result};
@@ -37,7 +37,7 @@ use crate::{system::CondVar, Error, Result};
/// Create outbound socket connections
pub struct Connector {
/// P2P settings
- settings: SettingsPtr,
+ settings: Arc,
/// Weak pointer to the session
pub session: SessionWeakPtr,
/// Stop signal that aborts the connector if received.
@@ -46,7 +46,7 @@ pub struct Connector {
impl Connector {
/// Create a new connector with given network settings
- pub fn new(settings: SettingsPtr, session: SessionWeakPtr) -> Self {
+ pub fn new(settings: Arc, session: SessionWeakPtr) -> Self {
Self { settings, session, stop_signal: CondVar::new() }
}
diff --git a/src/net/hosts.rs b/src/net/hosts.rs
index 5838b18c4..3f0d7f2a7 100644
--- a/src/net/hosts.rs
+++ b/src/net/hosts.rs
@@ -28,7 +28,7 @@ use log::{debug, error, info, trace, warn};
use rand::{prelude::IteratorRandom, rngs::OsRng, Rng};
use url::Url;
-use super::{settings::SettingsPtr, ChannelPtr};
+use super::{settings::Settings, ChannelPtr};
use crate::{
system::{Publisher, PublisherPtr, Subscription},
util::{
@@ -817,12 +817,12 @@ pub struct Hosts {
pub(in crate::net) ipv6_available: Mutex,
/// Pointer to configured P2P settings
- settings: SettingsPtr,
+ settings: Arc,
}
impl Hosts {
/// Create a new hosts list
- pub(in crate::net) fn new(settings: SettingsPtr) -> HostsPtr {
+ pub(in crate::net) fn new(settings: Arc) -> HostsPtr {
Arc::new(Self {
registry: Mutex::new(HashMap::new()),
container: HostContainer::new(),
@@ -1105,7 +1105,7 @@ impl Hosts {
/// Filter given addresses based on certain rulesets and validity. Strictly called only on
/// the first time learning of new peers.
- fn filter_addresses(&self, settings: SettingsPtr, addrs: &[(Url, u64)]) -> Vec<(Url, u64)> {
+ fn filter_addresses(&self, settings: Arc, addrs: &[(Url, u64)]) -> Vec<(Url, u64)> {
debug!(target: "net::hosts::filter_addresses()", "Filtering addrs: {:?}", addrs);
let mut ret = vec![];
let localnet = self.settings.localnet;
diff --git a/src/net/p2p.rs b/src/net/p2p.rs
index bce8b7cbb..f10725fc9 100644
--- a/src/net/p2p.rs
+++ b/src/net/p2p.rs
@@ -40,7 +40,7 @@ use super::{
InboundSession, InboundSessionPtr, ManualSession, ManualSessionPtr, OutboundSession,
OutboundSessionPtr, RefineSession, RefineSessionPtr, SeedSyncSession, SeedSyncSessionPtr,
},
- settings::{Settings, SettingsPtr},
+ settings::Settings,
};
use crate::{
system::{ExecutorPtr, Publisher, PublisherPtr, Subscription},
@@ -60,7 +60,7 @@ pub struct P2p {
/// Protocol registry
protocol_registry: ProtocolRegistry,
/// P2P network settings
- settings: SettingsPtr,
+ settings: Arc,
/// Reference to configured [`ManualSession`]
session_manual: ManualSessionPtr,
/// Reference to configured [`InboundSession`]
@@ -223,7 +223,7 @@ impl P2p {
}
/// Return an atomic pointer to the set network settings
- pub fn settings(&self) -> SettingsPtr {
+ pub fn settings(&self) -> Arc {
self.settings.clone()
}
diff --git a/src/net/protocol/protocol_address.rs b/src/net/protocol/protocol_address.rs
index a5feec53a..51cb13abd 100644
--- a/src/net/protocol/protocol_address.rs
+++ b/src/net/protocol/protocol_address.rs
@@ -30,7 +30,7 @@ use super::{
message_publisher::MessageSubscription,
p2p::P2pPtr,
session::SESSION_OUTBOUND,
- settings::SettingsPtr,
+ settings::Settings,
},
protocol_base::{ProtocolBase, ProtocolBasePtr},
protocol_jobs_manager::{ProtocolJobsManager, ProtocolJobsManagerPtr},
@@ -62,7 +62,7 @@ pub struct ProtocolAddress {
addrs_sub: MessageSubscription,
get_addrs_sub: MessageSubscription,
hosts: HostsPtr,
- settings: SettingsPtr,
+ settings: Arc,
jobsman: ProtocolJobsManagerPtr,
}
diff --git a/src/net/protocol/protocol_ping.rs b/src/net/protocol/protocol_ping.rs
index 24e36610c..73fbbd1f5 100644
--- a/src/net/protocol/protocol_ping.rs
+++ b/src/net/protocol/protocol_ping.rs
@@ -32,7 +32,7 @@ use super::{
message::{PingMessage, PongMessage},
message_publisher::MessageSubscription,
p2p::P2pPtr,
- settings::SettingsPtr,
+ settings::Settings,
},
protocol_base::{ProtocolBase, ProtocolBasePtr},
protocol_jobs_manager::{ProtocolJobsManager, ProtocolJobsManagerPtr},
@@ -47,7 +47,7 @@ pub struct ProtocolPing {
channel: ChannelPtr,
ping_sub: MessageSubscription,
pong_sub: MessageSubscription,
- settings: SettingsPtr,
+ settings: Arc,
jobsman: ProtocolJobsManagerPtr,
}
diff --git a/src/net/protocol/protocol_seed.rs b/src/net/protocol/protocol_seed.rs
index 659b0eb64..d81328e96 100644
--- a/src/net/protocol/protocol_seed.rs
+++ b/src/net/protocol/protocol_seed.rs
@@ -29,7 +29,7 @@ use super::{
message::{AddrsMessage, GetAddrsMessage},
message_publisher::MessageSubscription,
p2p::P2pPtr,
- settings::SettingsPtr,
+ settings::Settings,
},
protocol_base::{ProtocolBase, ProtocolBasePtr},
};
@@ -39,7 +39,7 @@ use crate::Result;
pub struct ProtocolSeed {
channel: ChannelPtr,
hosts: HostsPtr,
- settings: SettingsPtr,
+ settings: Arc,
addr_sub: MessageSubscription,
}
diff --git a/src/net/protocol/protocol_version.rs b/src/net/protocol/protocol_version.rs
index f02551869..742f4f353 100644
--- a/src/net/protocol/protocol_version.rs
+++ b/src/net/protocol/protocol_version.rs
@@ -32,7 +32,7 @@ use super::super::{
channel::ChannelPtr,
message::{VerackMessage, VersionMessage},
message_publisher::MessageSubscription,
- settings::SettingsPtr,
+ settings::Settings,
};
use crate::{Error, Result};
@@ -42,13 +42,13 @@ pub struct ProtocolVersion {
channel: ChannelPtr,
version_sub: MessageSubscription,
verack_sub: MessageSubscription,
- settings: SettingsPtr,
+ settings: Arc,
}
impl ProtocolVersion {
/// Create a new version protocol. Makes a version and version ack
/// subscription, then adds them to a version protocol instance.
- pub async fn new(channel: ChannelPtr, settings: SettingsPtr) -> Arc {
+ pub async fn new(channel: ChannelPtr, settings: Arc) -> Arc {
// Creates a version subscription
let version_sub =
channel.subscribe_msg::().await.expect("Missing version dispatcher!");
diff --git a/src/net/session/manual_session.rs b/src/net/session/manual_session.rs
index dd13791f2..c2582dfd5 100644
--- a/src/net/session/manual_session.rs
+++ b/src/net/session/manual_session.rs
@@ -47,7 +47,7 @@ use super::{
Session, SessionBitFlag, SESSION_MANUAL,
};
use crate::{
- net::{hosts::HostState, settings::SettingsPtr},
+ net::{hosts::HostState, settings::Settings},
system::{sleep, LazyWeak, StoppableTask, StoppableTaskPtr},
Error, Result,
};
@@ -117,7 +117,7 @@ struct Slot {
}
impl Slot {
- fn new(session: Weak, addr: Url, settings: SettingsPtr) -> Arc {
+ fn new(session: Weak, addr: Url, settings: Arc) -> Arc {
Arc::new(Self {
addr,
process: StoppableTask::new(),
diff --git a/src/net/session/seedsync_session.rs b/src/net/session/seedsync_session.rs
index 83c53a4d3..608c8cef8 100644
--- a/src/net/session/seedsync_session.rs
+++ b/src/net/session/seedsync_session.rs
@@ -42,14 +42,15 @@
//! function. This runs the version exchange protocol, stores the channel in the
//! p2p list of channels, and subscribes to a stop signal.
-use async_trait::async_trait;
-use futures::stream::{FuturesUnordered, StreamExt};
-use log::{debug, info, warn};
-use smol::lock::Mutex;
use std::sync::{
atomic::{AtomicBool, Ordering::SeqCst},
Arc, Weak,
};
+
+use async_trait::async_trait;
+use futures::stream::{FuturesUnordered, StreamExt};
+use log::{debug, info, warn};
+use smol::lock::Mutex;
use url::Url;
use super::{
@@ -57,7 +58,7 @@ use super::{
connector::Connector,
hosts::HostColor,
p2p::{P2p, P2pPtr},
- settings::SettingsPtr,
+ settings::Settings,
},
Session, SessionBitFlag, SESSION_SEED,
};
@@ -153,7 +154,7 @@ struct Slot {
}
impl Slot {
- fn new(session: Weak, addr: Url, settings: SettingsPtr) -> Arc {
+ fn new(session: Weak, addr: Url, settings: Arc) -> Arc {
Arc::new(Self {
addr,
process: StoppableTask::new(),
diff --git a/src/net/settings.rs b/src/net/settings.rs
index 6b193ef83..ba2b247f5 100644
--- a/src/net/settings.rs
+++ b/src/net/settings.rs
@@ -16,14 +16,9 @@
* along with this program. If not, see .
*/
-use std::sync::Arc;
-
use structopt::StructOpt;
use url::Url;
-/// Atomic pointer to network settings
-pub type SettingsPtr = Arc;
-
/// P2P network settings. The scope of this is a P2P network instance
/// configured by the library user.
#[derive(Debug, Clone)]