Struct libp2p_rendezvous::client::Behaviour
source · [−]pub struct Behaviour { /* private fields */ }
Implementations
sourceimpl 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
sourceimpl 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.
sourcefn new_handler(&mut self) -> Self::ConnectionHandler
fn new_handler(&mut self) -> Self::ConnectionHandler
Creates a new
ConnectionHandler
for a connection with a peer. Read moresourcefn addresses_of_peer(&mut self, peer: &PeerId) -> Vec<Multiaddr>
fn addresses_of_peer(&mut self, peer: &PeerId) -> Vec<Multiaddr>
Addresses that this behaviour is aware of for this specific peer, and that may allow
reaching the peer. Read more
sourcefn inject_event(
&mut self,
peer_id: PeerId,
connection_id: ConnectionId,
event: OutEvent<Void, OutEvent, Void, Error>
)
fn inject_event(
&mut self,
peer_id: PeerId,
connection_id: ConnectionId,
event: OutEvent<Void, OutEvent, Void, Error>
)
Informs the behaviour about an event generated by the handler dedicated to the peer identified by
peer_id
.
for the behaviour. Read moresourcefn 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
sourcefn inject_connection_established(
&mut self,
_peer_id: &PeerId,
_connection_id: &ConnectionId,
_endpoint: &ConnectedPoint,
_failed_addresses: Option<&Vec<Multiaddr, Global>>,
_other_established: usize
)
fn inject_connection_established(
&mut self,
_peer_id: &PeerId,
_connection_id: &ConnectionId,
_endpoint: &ConnectedPoint,
_failed_addresses: Option<&Vec<Multiaddr, Global>>,
_other_established: usize
)
Informs the behaviour about a newly established connection to a peer.
sourcefn inject_connection_closed(
&mut self,
&PeerId,
&ConnectionId,
&ConnectedPoint,
<Self::ConnectionHandler as IntoConnectionHandler>::Handler,
_remaining_established: usize
)
fn inject_connection_closed(
&mut self,
&PeerId,
&ConnectionId,
&ConnectedPoint,
<Self::ConnectionHandler as IntoConnectionHandler>::Handler,
_remaining_established: usize
)
Informs the behaviour about a closed connection to a peer. 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_dial_failure(
&mut self,
_peer_id: Option<PeerId>,
_handler: Self::ConnectionHandler,
_error: &DialError
)
fn inject_dial_failure(
&mut self,
_peer_id: Option<PeerId>,
_handler: Self::ConnectionHandler,
_error: &DialError
)
Indicates to the behaviour that the dial to a known or unknown node failed.
sourcefn inject_listen_failure(
&mut self,
_local_addr: &Multiaddr,
_send_back_addr: &Multiaddr,
_handler: Self::ConnectionHandler
)
fn inject_listen_failure(
&mut self,
_local_addr: &Multiaddr,
_send_back_addr: &Multiaddr,
_handler: Self::ConnectionHandler
)
Indicates to the behaviour that an error happened on an incoming connection during its
initial handshake. Read more
sourcefn 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.
sourcefn 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.
sourcefn 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. Read more
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.
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_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.
Auto Trait Implementations
impl !RefUnwindSafe for Behaviour
impl Send for Behaviour
impl !Sync for Behaviour
impl Unpin for Behaviour
impl !UnwindSafe for Behaviour
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more