Struct libp2p_rendezvous::client::Behaviour
source · pub struct Behaviour { /* private fields */ }
Implementations§
source§impl Behaviour
impl Behaviour
sourcepub fn new(keypair: Keypair) -> Self
pub fn new(keypair: Keypair) -> Self
Create a new instance of the rendezvous NetworkBehaviour
.
sourcepub fn register(
&mut self,
namespace: Namespace,
rendezvous_node: PeerId,
ttl: Option<Ttl>
)
pub fn register( &mut self, namespace: Namespace, rendezvous_node: PeerId, ttl: Option<Ttl> )
Register our external addresses in the given namespace with the given rendezvous peer.
External addresses are either manually added via libp2p_swarm::Swarm::add_external_address
or reported
by other NetworkBehaviour
s via NetworkBehaviourAction::ReportObservedAddr
.
sourcepub fn unregister(&mut self, namespace: Namespace, rendezvous_node: PeerId)
pub fn unregister(&mut self, namespace: Namespace, rendezvous_node: PeerId)
Unregister ourselves from the given namespace with the given rendezvous peer.
sourcepub fn discover(
&mut self,
ns: Option<Namespace>,
cookie: Option<Cookie>,
limit: Option<u64>,
rendezvous_node: PeerId
)
pub fn discover( &mut self, ns: Option<Namespace>, cookie: Option<Cookie>, limit: Option<u64>, rendezvous_node: PeerId )
Discover other peers at a given rendezvous peer.
If desired, the registrations can be filtered by a namespace.
If no namespace is given, peers from all namespaces will be returned.
A successfully discovery returns a cookie within Event::Discovered
.
Such a cookie can be used to only fetch the delta of registrations since
the cookie was acquired.
Trait Implementations§
source§impl NetworkBehaviour for Behaviour
impl NetworkBehaviour for Behaviour
§type ConnectionHandler = SubstreamConnectionHandler<Void, Stream, OpenInfo>
type ConnectionHandler = SubstreamConnectionHandler<Void, Stream, OpenInfo>
Handler for all the protocols the network behaviour supports.
source§fn handle_established_inbound_connection(
&mut self,
_: ConnectionId,
_: PeerId,
_: &Multiaddr,
_: &Multiaddr
) -> Result<THandler<Self>, ConnectionDenied>
fn handle_established_inbound_connection( &mut self, _: ConnectionId, _: PeerId, _: &Multiaddr, _: &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,
_: ConnectionId,
_: PeerId,
_: &Multiaddr,
_: Endpoint
) -> Result<THandler<Self>, ConnectionDenied>
fn handle_established_outbound_connection( &mut self, _: ConnectionId, _: PeerId, _: &Multiaddr, _: Endpoint ) -> 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<'_>,
_: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<Self::OutEvent, THandlerInEvent<Self>>>
fn poll( &mut self, cx: &mut Context<'_>, _: &mut impl PollParameters ) -> Poll<NetworkBehaviourAction<Self::OutEvent, THandlerInEvent<Self>>>
Polls for things that swarm should do. Read more
source§fn on_swarm_event(&mut self, event: FromSwarm<'_, Self::ConnectionHandler>)
fn on_swarm_event(&mut self, event: FromSwarm<'_, Self::ConnectionHandler>)
Informs the behaviour about an event from the
Swarm
.source§fn new_handler(&mut self) -> Self::ConnectionHandler
fn new_handler(&mut self) -> Self::ConnectionHandler
👎Deprecated since 0.42.0: Use one or more of <code>NetworkBehaviour::{handle_pending_inbound_connection,handle_established_inbound_connection,handle_pending_outbound_connection,handle_established_outbound_connection}</code> instead.
Creates a new
ConnectionHandler
for a connection with a peer. Read moresource§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