Identify

Struct Identify 

Source
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§

Source§

impl Identify

Source

pub fn new( protocol_version: String, agent_version: String, local_public_key: PublicKey, ) -> Self

Creates a new Identify network behaviour.

Trait Implementations§

Source§

impl NetworkBehaviour for Identify

Source§

type ProtocolsHandler = IdentifyHandler

Handler for all the protocols the network behaviour supports.
Source§

type OutEvent = IdentifyEvent

Event generated by the NetworkBehaviour and that the swarm will report back.
Source§

fn new_handler(&mut self) -> Self::ProtocolsHandler

Creates a new ProtocolsHandler for a connection with a peer. Read more
Source§

fn addresses_of_peer(&mut self, _: &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_connected(&mut self, _: &PeerId)

Indicate to the behaviour that we connected to the node with the given peer id. Read more
Source§

fn inject_connection_established( &mut self, peer_id: &PeerId, conn: &ConnectionId, endpoint: &ConnectedPoint, )

Informs the behaviour about a newly established connection to a peer.
Source§

fn inject_connection_closed( &mut self, peer_id: &PeerId, conn: &ConnectionId, _: &ConnectedPoint, )

Informs the behaviour about a closed connection to a peer. Read more
Source§

fn inject_disconnected(&mut self, peer_id: &PeerId)

Indicates to the behaviour that we disconnected from the node with the given peer id. Read more
Source§

fn inject_event( &mut self, peer_id: PeerId, connection: ConnectionId, event: <Self::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
Source§

fn poll( &mut self, cx: &mut Context<'_>, params: &mut impl PollParameters, ) -> Poll<NetworkBehaviourAction<<Self::ProtocolsHandler as ProtocolsHandler>::InEvent, Self::OutEvent>>

Polls for things that swarm should do. Read more
Source§

fn inject_address_change( &mut self, _: &PeerId, _: &ConnectionId, _old: &ConnectedPoint, _new: &ConnectedPoint, )

Informs the behaviour that the ConnectedPoint of an existing connection has changed.
Source§

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
Source§

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
Source§

fn inject_new_listen_addr(&mut self, _addr: &Multiaddr)

Indicates to the behaviour that we have started listening on a new multiaddr.
Source§

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.
Source§

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_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>, )

A listener closed.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,