Struct network::peer_manager::PeerManager [−][src]
pub struct PeerManager<TTransport, TSocket> where
TTransport: Transport,
TSocket: AsyncRead + AsyncWrite, { /* fields omitted */ }Expand description
Responsible for handling and maintaining connections to other Peers
Implementations
impl<TTransport, TSocket> PeerManager<TTransport, TSocket> where
TTransport: Transport<Output = Connection<TSocket>> + Send + 'static,
TSocket: TransportTSocket,
impl<TTransport, TSocket> PeerManager<TTransport, TSocket> where
TTransport: Transport<Output = Connection<TSocket>> + Send + 'static,
TSocket: TransportTSocket,
pub fn new(
executor: Handle,
time_service: TimeService,
transport: TTransport,
network_context: NetworkContext,
listen_addr: NetworkAddress,
peer_metadata_storage: Arc<PeerMetadataStorage>,
trusted_peers: Arc<RwLock<PeerSet>>,
requests_rx: Receiver<(PeerId, ProtocolId), PeerManagerRequest>,
connection_reqs_rx: Receiver<PeerId, ConnectionRequest>,
upstream_handlers: HashMap<ProtocolId, Sender<(PeerId, ProtocolId), PeerManagerNotification>>,
connection_event_handlers: Vec<Sender>,
channel_size: usize,
max_concurrent_network_reqs: usize,
max_frame_size: usize,
inbound_connection_limit: usize,
inbound_rate_limiters: IpAddrTokenBucketLimiter,
outbound_rate_limiters: IpAddrTokenBucketLimiter
) -> Self
pub fn new(
executor: Handle,
time_service: TimeService,
transport: TTransport,
network_context: NetworkContext,
listen_addr: NetworkAddress,
peer_metadata_storage: Arc<PeerMetadataStorage>,
trusted_peers: Arc<RwLock<PeerSet>>,
requests_rx: Receiver<(PeerId, ProtocolId), PeerManagerRequest>,
connection_reqs_rx: Receiver<PeerId, ConnectionRequest>,
upstream_handlers: HashMap<ProtocolId, Sender<(PeerId, ProtocolId), PeerManagerNotification>>,
connection_event_handlers: Vec<Sender>,
channel_size: usize,
max_concurrent_network_reqs: usize,
max_frame_size: usize,
inbound_connection_limit: usize,
inbound_rate_limiters: IpAddrTokenBucketLimiter,
outbound_rate_limiters: IpAddrTokenBucketLimiter
) -> Self
Construct a new PeerManager actor
Get the NetworkAddress we’re listening for incoming connections on
Auto Trait Implementations
impl<TTransport, TSocket> !RefUnwindSafe for PeerManager<TTransport, TSocket>
impl<TTransport, TSocket> Send for PeerManager<TTransport, TSocket> where
TSocket: Send,
TTransport: Send,
impl<TTransport, TSocket> Sync for PeerManager<TTransport, TSocket> where
TSocket: Send,
TTransport: Sync,
<TTransport as Transport>::Listener: Sync,
impl<TTransport, TSocket> Unpin for PeerManager<TTransport, TSocket> where
TTransport: Unpin,
impl<TTransport, TSocket> !UnwindSafe for PeerManager<TTransport, TSocket>
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = T
Should always be Self