pub struct Mdns { /* private fields */ }
Expand description
A NetworkBehaviour
for mDNS. Automatically discovers peers on the local network and adds
them to the topology.
Implementations
sourceimpl Mdns
impl Mdns
sourcepub fn has_node(&self, peer_id: &PeerId) -> bool
pub fn has_node(&self, peer_id: &PeerId) -> bool
Returns true if the given PeerId
is in the list of nodes discovered through mDNS.
sourcepub fn discovered_nodes(&self) -> impl ExactSizeIterator
pub fn discovered_nodes(&self) -> impl ExactSizeIterator
Returns the list of nodes that we have discovered through mDNS and that are not expired.
sourcepub fn expire_node(&mut self, peer_id: &PeerId)
pub fn expire_node(&mut self, peer_id: &PeerId)
Expires a node before the ttl.
Trait Implementations
sourceimpl NetworkBehaviour for Mdns
impl NetworkBehaviour for Mdns
type ConnectionHandler = DummyConnectionHandler
type ConnectionHandler = DummyConnectionHandler
Handler for all the protocols the network behaviour supports.
type OutEvent = MdnsEvent
type OutEvent = MdnsEvent
Event generated by the NetworkBehaviour
and that the swarm will report back.
sourcefn new_handler(&mut self) -> <Mdns as NetworkBehaviour>::ConnectionHandler
fn new_handler(&mut self) -> <Mdns as NetworkBehaviour>::ConnectionHandler
Creates a new ConnectionHandler
for a connection with a peer. Read more
sourcefn addresses_of_peer(&mut self, peer_id: &PeerId) -> Vec<Multiaddr, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn addresses_of_peer(&mut self, peer_id: &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
sourcefn inject_event(
&mut self,
PeerId,
ConnectionId,
ev: <<Mdns as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::OutEvent
)
fn inject_event(
&mut self,
PeerId,
ConnectionId,
ev: <<Mdns as NetworkBehaviour>::ConnectionHandler as ConnectionHandler>::OutEvent
)
Informs the behaviour about an event generated by the handler dedicated to the peer identified by peer_id
.
for the behaviour. Read more
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_connection_closed(
&mut self,
peer: &PeerId,
&ConnectionId,
&ConnectedPoint,
<Mdns as NetworkBehaviour>::ConnectionHandler,
remaining_established: usize
)
fn inject_connection_closed(
&mut self,
peer: &PeerId,
&ConnectionId,
&ConnectedPoint,
<Mdns as NetworkBehaviour>::ConnectionHandler,
remaining_established: usize
)
Informs the behaviour about a closed connection to a peer. Read more
sourcefn poll(
&mut self,
cx: &mut Context<'_>,
params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<<Mdns as NetworkBehaviour>::OutEvent, DummyConnectionHandler, <<DummyConnectionHandler as IntoConnectionHandler>::Handler as ConnectionHandler>::InEvent>>
fn poll(
&mut self,
cx: &mut Context<'_>,
params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<<Mdns as NetworkBehaviour>::OutEvent, DummyConnectionHandler, <<DummyConnectionHandler as IntoConnectionHandler>::Handler as ConnectionHandler>::InEvent>>
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_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_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 Mdns
impl Send for Mdns
impl Sync for Mdns
impl Unpin for Mdns
impl !UnwindSafe for Mdns
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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