Struct libp2p::identify::Behaviour

source ·
pub struct Behaviour { /* private fields */ }
Available on crate feature identify only.
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 Behaviour

source

pub fn new(config: Config) -> Behaviour

Creates a new identify Behaviour.

source

pub fn push<I>(&mut self, peers: I)where I: IntoIterator<Item = PeerId>,

Initiates an active push of the local peer information to the given peers.

Trait Implementations§

source§

impl NetworkBehaviour for Behaviour

§

type ConnectionHandler = Handler

Handler for all the protocols the network behaviour supports.
§

type OutEvent = Event

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

fn handle_established_inbound_connection( &mut self, _: ConnectionId, peer: PeerId, _: &Multiaddr, remote_addr: &Multiaddr ) -> Result<<<Behaviour as NetworkBehaviour>::ConnectionHandler as IntoConnectionHandler>::Handler, ConnectionDenied>

Callback that is invoked for every established inbound connection. Read more
source§

fn handle_established_outbound_connection( &mut self, _: ConnectionId, peer: PeerId, addr: &Multiaddr, _: Endpoint ) -> Result<<<Behaviour as NetworkBehaviour>::ConnectionHandler as IntoConnectionHandler>::Handler, 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: <<<Behaviour as NetworkBehaviour>::ConnectionHandler as IntoConnectionHandler>::Handler as ConnectionHandler>::OutEvent )

Informs the behaviour about an event generated by the ConnectionHandler 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<ToSwarm<<Behaviour as NetworkBehaviour>::OutEvent, <<<Behaviour as NetworkBehaviour>::ConnectionHandler as IntoConnectionHandler>::Handler as ConnectionHandler>::InEvent>>

Polls for things that swarm should do. 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, Global>, ConnectionDenied>

Callback that is invoked for every outbound connection attempt. Read more
source§

fn on_swarm_event( &mut self, event: FromSwarm<'_, <Behaviour as NetworkBehaviour>::ConnectionHandler> )

Informs the behaviour about an event from the Swarm.
source§

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

👎Deprecated since 0.42.0: Use one or more of NetworkBehaviour::{handle_pending_inbound_connection,handle_established_inbound_connection,handle_pending_outbound_connection,handle_established_outbound_connection} instead.
Creates a new ConnectionHandler for a connection with a peer. Read more
source§

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 addresses_of_peer(&mut self, _: &PeerId) -> Vec<Multiaddr, Global>

👎Deprecated: Use NetworkBehaviour::handle_pending_outbound_connection instead.
Addresses that this behaviour is aware of for this specific peer, and that may allow reaching the peer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T> AsTaggedExplicit<'a> for Twhere T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self>

§

impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T> AsTaggedImplicit<'a> for Twhere T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

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

const: unstable · 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> Same<T> for T

§

type Output = T

Should always be Self
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more