pub struct NetworkBehavior { /* private fields */ }Trait Implementations§
Source§impl NetworkBehaviour for NetworkBehaviorwhere
Gossipsub: NetworkBehaviour,
NetworkEvent: From<<Gossipsub as NetworkBehaviour>::OutEvent> + From<<Kademlia<MemoryStore> as NetworkBehaviour>::OutEvent> + From<<Mdns as NetworkBehaviour>::OutEvent>,
Kademlia<MemoryStore>: NetworkBehaviour,
Mdns: NetworkBehaviour,
impl NetworkBehaviour for NetworkBehaviorwhere
Gossipsub: NetworkBehaviour,
NetworkEvent: From<<Gossipsub as NetworkBehaviour>::OutEvent> + From<<Kademlia<MemoryStore> as NetworkBehaviour>::OutEvent> + From<<Mdns as NetworkBehaviour>::OutEvent>,
Kademlia<MemoryStore>: NetworkBehaviour,
Mdns: NetworkBehaviour,
Source§type ConnectionHandler = IntoConnectionHandlerSelect<IntoConnectionHandlerSelect<<Gossipsub as NetworkBehaviour>::ConnectionHandler, <Kademlia<MemoryStore> as NetworkBehaviour>::ConnectionHandler>, <Mdns as NetworkBehaviour>::ConnectionHandler>
type ConnectionHandler = IntoConnectionHandlerSelect<IntoConnectionHandlerSelect<<Gossipsub as NetworkBehaviour>::ConnectionHandler, <Kademlia<MemoryStore> as NetworkBehaviour>::ConnectionHandler>, <Mdns as NetworkBehaviour>::ConnectionHandler>
Handler for all the protocols the network behaviour supports.
Source§type OutEvent = NetworkEvent
type OutEvent = NetworkEvent
Event generated by the
NetworkBehaviour and that the swarm will report back.Source§fn new_handler(&mut self) -> Self::ConnectionHandler
fn new_handler(&mut self) -> Self::ConnectionHandler
Creates a new
ConnectionHandler for a connection with a peer. Read moreSource§fn addresses_of_peer(&mut self, peer_id: &PeerId) -> Vec<Multiaddr>
fn addresses_of_peer(&mut self, peer_id: &PeerId) -> Vec<Multiaddr>
Addresses that this behaviour is aware of for this specific peer, and that may allow
reaching the peer. Read more
Source§fn inject_connection_established(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
endpoint: &ConnectedPoint,
errors: Option<&Vec<Multiaddr>>,
other_established: usize,
)
fn inject_connection_established( &mut self, peer_id: &PeerId, connection_id: &ConnectionId, endpoint: &ConnectedPoint, errors: Option<&Vec<Multiaddr>>, other_established: usize, )
Informs the behaviour about a newly established connection to a peer.
Source§fn inject_address_change(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
old: &ConnectedPoint,
new: &ConnectedPoint,
)
fn inject_address_change( &mut self, peer_id: &PeerId, connection_id: &ConnectionId, old: &ConnectedPoint, new: &ConnectedPoint, )
Informs the behaviour that the
ConnectedPoint of an existing connection has changed.Source§fn inject_connection_closed(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
endpoint: &ConnectedPoint,
handlers: <Self::ConnectionHandler as IntoConnectionHandler>::Handler,
remaining_established: usize,
)
fn inject_connection_closed( &mut self, peer_id: &PeerId, connection_id: &ConnectionId, endpoint: &ConnectedPoint, handlers: <Self::ConnectionHandler as IntoConnectionHandler>::Handler, remaining_established: usize, )
Informs the behaviour about a closed connection to a peer. Read more
Source§fn inject_dial_failure(
&mut self,
peer_id: Option<PeerId>,
handlers: Self::ConnectionHandler,
error: &DialError,
)
fn inject_dial_failure( &mut self, peer_id: Option<PeerId>, handlers: Self::ConnectionHandler, error: &DialError, )
Indicates to the behaviour that the dial to a known or unknown node failed.
Source§fn inject_listen_failure(
&mut self,
local_addr: &Multiaddr,
send_back_addr: &Multiaddr,
handlers: Self::ConnectionHandler,
)
fn inject_listen_failure( &mut self, local_addr: &Multiaddr, send_back_addr: &Multiaddr, handlers: Self::ConnectionHandler, )
Indicates to the behaviour that an error happened on an incoming connection during its
initial handshake. Read more
Source§fn inject_new_listener(&mut self, id: ListenerId)
fn inject_new_listener(&mut self, id: ListenerId)
Indicates to the behaviour that a new listener was created.
Source§fn inject_new_listen_addr(&mut self, id: ListenerId, addr: &Multiaddr)
fn inject_new_listen_addr(&mut self, id: ListenerId, addr: &Multiaddr)
Indicates to the behaviour that we have started listening on a new multiaddr.
Source§fn inject_expired_listen_addr(&mut self, id: ListenerId, addr: &Multiaddr)
fn inject_expired_listen_addr(&mut self, id: ListenerId, addr: &Multiaddr)
Indicates to the behaviour that a multiaddr we were listening on has expired,
which means that we are no longer listening in it.
Source§fn inject_new_external_addr(&mut self, addr: &Multiaddr)
fn inject_new_external_addr(&mut self, addr: &Multiaddr)
Indicates to the behaviour that we have discovered a new external address for us.
Source§fn inject_expired_external_addr(&mut self, addr: &Multiaddr)
fn inject_expired_external_addr(&mut self, addr: &Multiaddr)
Indicates to the behaviour that an external address was removed.
Source§fn inject_listener_error(&mut self, id: ListenerId, err: &(dyn Error + 'static))
fn inject_listener_error(&mut self, id: ListenerId, err: &(dyn Error + 'static))
A listener experienced an error.
Source§fn inject_listener_closed(&mut self, id: ListenerId, reason: Result<(), &Error>)
fn inject_listener_closed(&mut self, id: ListenerId, reason: Result<(), &Error>)
A listener closed.
Source§fn inject_event(
&mut self,
peer_id: PeerId,
connection_id: ConnectionId,
event: <<Self::ConnectionHandler as IntoConnectionHandler>::Handler as ConnectionHandler>::OutEvent,
)
fn inject_event( &mut self, peer_id: PeerId, connection_id: ConnectionId, event: <<Self::ConnectionHandler as IntoConnectionHandler>::Handler as ConnectionHandler>::OutEvent, )
Informs the behaviour about an event generated by the handler dedicated to the peer identified by
peer_id.
for the behaviour. Read moreSource§fn poll(
&mut self,
cx: &mut Context<'_>,
poll_params: &mut impl PollParameters,
) -> Poll<NetworkBehaviourAction<Self::OutEvent, Self::ConnectionHandler>>
fn poll( &mut self, cx: &mut Context<'_>, poll_params: &mut impl PollParameters, ) -> Poll<NetworkBehaviourAction<Self::OutEvent, Self::ConnectionHandler>>
Polls for things that swarm should do. Read more
Source§impl NetworkBehaviourEventProcess<GossipsubEvent> for NetworkBehavior
impl NetworkBehaviourEventProcess<GossipsubEvent> for NetworkBehavior
Source§fn inject_event(&mut self, event: GossipsubEvent)
fn inject_event(&mut self, event: GossipsubEvent)
Called when one of the fields of the type you’re deriving
NetworkBehaviour on generates
an event.Source§impl NetworkBehaviourEventProcess<KademliaEvent> for NetworkBehavior
impl NetworkBehaviourEventProcess<KademliaEvent> for NetworkBehavior
Source§fn inject_event(&mut self, event: KademliaEvent)
fn inject_event(&mut self, event: KademliaEvent)
Called when one of the fields of the type you’re deriving
NetworkBehaviour on generates
an event.Source§impl NetworkBehaviourEventProcess<MdnsEvent> for NetworkBehavior
impl NetworkBehaviourEventProcess<MdnsEvent> for NetworkBehavior
Source§fn inject_event(&mut self, event: MdnsEvent)
fn inject_event(&mut self, event: MdnsEvent)
Called when one of the fields of the type you’re deriving
NetworkBehaviour on generates
an event.Auto Trait Implementations§
impl Freeze for NetworkBehavior
impl !RefUnwindSafe for NetworkBehavior
impl Send for NetworkBehavior
impl Sync for NetworkBehavior
impl Unpin for NetworkBehavior
impl !UnwindSafe for NetworkBehavior
Blanket Implementations§
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