pub struct Identify { /* private fields */ }
Expand description
Network behaviour that automatically identifies nodes periodically, returns information about them, and answers identify queries from other nodes.
All external addresses of the local node supposedly observed by remotes
are reported via NetworkBehaviourAction::ReportObservedAddr
with a
score of 1
.
Implementations
Trait Implementations
sourceimpl NetworkBehaviour for Identify
impl NetworkBehaviour for Identify
type ProtocolsHandler = IdentifyHandler
type ProtocolsHandler = IdentifyHandler
Handler for all the protocols the network behaviour supports.
type OutEvent = IdentifyEvent
type OutEvent = IdentifyEvent
Event generated by the NetworkBehaviour
and that the swarm will report back.
sourcepub fn new_handler(
&mut self
) -> <Identify as NetworkBehaviour>::ProtocolsHandler
pub fn new_handler(
&mut self
) -> <Identify as NetworkBehaviour>::ProtocolsHandler
Creates a new ProtocolsHandler
for a connection with a peer. Read more
sourcepub fn addresses_of_peer(&mut self, &PeerId) -> Vec<Multiaddr, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn addresses_of_peer(&mut self, &PeerId) -> Vec<Multiaddr, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Addresses that this behaviour is aware of for this specific peer, and that may allow reaching the peer. Read more
sourcepub fn inject_connected(&mut self, &PeerId)
pub fn inject_connected(&mut self, &PeerId)
Indicates the behaviour that we connected to the node with the given peer id. Read more
sourcepub fn inject_connection_established(
&mut self,
peer_id: &PeerId,
conn: &ConnectionId,
endpoint: &ConnectedPoint
)
pub fn inject_connection_established(
&mut self,
peer_id: &PeerId,
conn: &ConnectionId,
endpoint: &ConnectedPoint
)
Informs the behaviour about a newly established connection to a peer.
sourcepub fn inject_connection_closed(
&mut self,
peer_id: &PeerId,
conn: &ConnectionId,
&ConnectedPoint
)
pub fn inject_connection_closed(
&mut self,
peer_id: &PeerId,
conn: &ConnectionId,
&ConnectedPoint
)
Informs the behaviour about a closed connection to a peer. Read more
sourcepub fn inject_disconnected(&mut self, peer_id: &PeerId)
pub fn inject_disconnected(&mut self, peer_id: &PeerId)
Indicates the behaviour that we disconnected from the node with the given peer id. Read more
sourcepub fn inject_event(
&mut self,
peer_id: PeerId,
connection: ConnectionId,
event: <<Identify as NetworkBehaviour>::ProtocolsHandler as ProtocolsHandler>::OutEvent
)
pub fn inject_event(
&mut self,
peer_id: PeerId,
connection: ConnectionId,
event: <<Identify as NetworkBehaviour>::ProtocolsHandler as ProtocolsHandler>::OutEvent
)
Informs the behaviour about an event generated by the handler dedicated to the peer identified by peer_id
.
for the behaviour. Read more
sourcepub fn poll(
&mut self,
cx: &mut Context<'_>,
params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<<<Identify as NetworkBehaviour>::ProtocolsHandler as ProtocolsHandler>::InEvent, <Identify as NetworkBehaviour>::OutEvent>>
pub fn poll(
&mut self,
cx: &mut Context<'_>,
params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<<<Identify as NetworkBehaviour>::ProtocolsHandler as ProtocolsHandler>::InEvent, <Identify as NetworkBehaviour>::OutEvent>>
Polls for things that swarm should do. Read more
sourcefn inject_address_change(
&mut self,
&PeerId,
&ConnectionId,
_old: &ConnectedPoint,
_new: &ConnectedPoint
)
fn inject_address_change(
&mut self,
&PeerId,
&ConnectionId,
_old: &ConnectedPoint,
_new: &ConnectedPoint
)
Informs the behaviour that the ConnectedPoint
of an existing connection has changed.
sourcefn inject_addr_reach_failure(
&mut self,
_peer_id: Option<&PeerId>,
_addr: &Multiaddr,
_error: &dyn Error
)
fn inject_addr_reach_failure(
&mut self,
_peer_id: Option<&PeerId>,
_addr: &Multiaddr,
_error: &dyn Error
)
Indicates to the behaviour that we tried to reach an address, but failed. Read more
sourcefn inject_dial_failure(&mut self, _peer_id: &PeerId)
fn inject_dial_failure(&mut self, _peer_id: &PeerId)
Indicates to the behaviour that we tried to dial all the addresses known for a node, but failed. Read more
sourcefn inject_new_listen_addr(&mut self, _addr: &Multiaddr)
fn inject_new_listen_addr(&mut self, _addr: &Multiaddr)
Indicates to the behaviour that we have started listening on a new multiaddr.
sourcefn inject_expired_listen_addr(&mut self, _addr: &Multiaddr)
fn inject_expired_listen_addr(&mut self, _addr: &Multiaddr)
Indicates to the behaviour that a new multiaddr we were listening on has expired, which means that we are no longer listening in it. Read more
sourcefn 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.
sourcefn 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.
sourcefn inject_listener_closed(
&mut self,
_id: ListenerId,
_reason: Result<(), &Error>
)
fn inject_listener_closed(
&mut self,
_id: ListenerId,
_reason: Result<(), &Error>
)
A listener closed.
Auto Trait Implementations
impl !RefUnwindSafe for Identify
impl Send for Identify
impl !Sync for Identify
impl Unpin for Identify
impl !UnwindSafe for Identify
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more