pub struct IpfrsBehaviour {
pub kademlia: Behaviour<MemoryStore>,
pub identify: Behaviour,
pub ping: Behaviour,
pub autonat: Behaviour,
pub dcutr: Behaviour,
pub mdns: Behaviour,
pub relay_client: Behaviour,
}Expand description
Network behavior combining multiple protocols
Fields§
§kademlia: Behaviour<MemoryStore>Kademlia DHT for content and peer discovery
identify: BehaviourIdentify protocol for peer information
ping: BehaviourPing protocol for connectivity checks
autonat: BehaviourAutoNAT for NAT detection and address confirmation
dcutr: BehaviourDCUtR for hole punching through NAT
mdns: BehaviourmDNS for local network peer discovery
relay_client: BehaviourRelay client for NAT traversal
Trait Implementations§
Source§impl NetworkBehaviour for IpfrsBehaviourwhere
Behaviour<MemoryStore>: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
IpfrsBehaviourEvent: From<<Behaviour<MemoryStore> as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm>,
impl NetworkBehaviour for IpfrsBehaviourwhere
Behaviour<MemoryStore>: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
IpfrsBehaviourEvent: From<<Behaviour<MemoryStore> as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm>,
Source§type ConnectionHandler = ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<<Behaviour<MemoryStore> as NetworkBehaviour>::ConnectionHandler, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<Tokio> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>
type ConnectionHandler = ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<<Behaviour<MemoryStore> as NetworkBehaviour>::ConnectionHandler, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<Tokio> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>
Handler for all the protocols the network behaviour supports.
Source§type ToSwarm = IpfrsBehaviourEvent
type ToSwarm = IpfrsBehaviourEvent
Event generated by the
NetworkBehaviour and that the swarm will report back.Source§fn handle_pending_inbound_connection(
&mut self,
connection_id: ConnectionId,
local_addr: &Multiaddr,
remote_addr: &Multiaddr,
) -> Result<(), ConnectionDenied>
fn handle_pending_inbound_connection( &mut self, connection_id: ConnectionId, local_addr: &Multiaddr, remote_addr: &Multiaddr, ) -> Result<(), ConnectionDenied>
Callback that is invoked for every new inbound connection. Read more
Source§fn handle_established_inbound_connection(
&mut self,
connection_id: ConnectionId,
peer: PeerId,
local_addr: &Multiaddr,
remote_addr: &Multiaddr,
) -> Result<THandler<Self>, ConnectionDenied>
fn handle_established_inbound_connection( &mut self, connection_id: ConnectionId, peer: PeerId, local_addr: &Multiaddr, remote_addr: &Multiaddr, ) -> Result<THandler<Self>, ConnectionDenied>
Callback that is invoked for every established inbound connection. Read more
Source§fn handle_pending_outbound_connection(
&mut self,
connection_id: ConnectionId,
maybe_peer: Option<PeerId>,
addresses: &[Multiaddr],
effective_role: Endpoint,
) -> Result<Vec<Multiaddr>, ConnectionDenied>
fn handle_pending_outbound_connection( &mut self, connection_id: ConnectionId, maybe_peer: Option<PeerId>, addresses: &[Multiaddr], effective_role: Endpoint, ) -> Result<Vec<Multiaddr>, ConnectionDenied>
Callback that is invoked for every outbound connection attempt. Read more
Source§fn handle_established_outbound_connection(
&mut self,
connection_id: ConnectionId,
peer: PeerId,
addr: &Multiaddr,
role_override: Endpoint,
port_use: PortUse,
) -> Result<THandler<Self>, ConnectionDenied>
fn handle_established_outbound_connection( &mut self, connection_id: ConnectionId, peer: PeerId, addr: &Multiaddr, role_override: Endpoint, port_use: PortUse, ) -> Result<THandler<Self>, ConnectionDenied>
Callback that is invoked for every established outbound connection. Read more
Source§fn on_connection_handler_event(
&mut self,
peer_id: PeerId,
connection_id: ConnectionId,
event: THandlerOutEvent<Self>,
)
fn on_connection_handler_event( &mut self, peer_id: PeerId, connection_id: ConnectionId, event: THandlerOutEvent<Self>, )
Informs the behaviour about an event generated by the
ConnectionHandler
dedicated to the peer identified by peer_id. for the behaviour. Read moreSource§fn poll(
&mut self,
cx: &mut Context<'_>,
) -> Poll<ToSwarm<Self::ToSwarm, THandlerInEvent<Self>>>
fn poll( &mut self, cx: &mut Context<'_>, ) -> Poll<ToSwarm<Self::ToSwarm, THandlerInEvent<Self>>>
Polls for things that swarm should do. Read more
Source§fn on_swarm_event(&mut self, event: FromSwarm<'_>)
fn on_swarm_event(&mut self, event: FromSwarm<'_>)
Informs the behaviour about an event from the
Swarm.Auto Trait Implementations§
impl Freeze for IpfrsBehaviour
impl !RefUnwindSafe for IpfrsBehaviour
impl Send for IpfrsBehaviour
impl !Sync for IpfrsBehaviour
impl Unpin for IpfrsBehaviour
impl !UnwindSafe for IpfrsBehaviour
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more