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§
Source§impl 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<Item = &PeerId>
pub fn discovered_nodes(&self) -> impl ExactSizeIterator<Item = &PeerId>
Returns the list of nodes that we have discovered through mDNS and that are not expired.
Trait Implementations§
Source§impl NetworkBehaviour for Mdns
impl NetworkBehaviour for Mdns
Source§type ProtocolsHandler = DummyProtocolsHandler
type ProtocolsHandler = DummyProtocolsHandler
Handler for all the protocols the network behaviour supports.
Source§type OutEvent = MdnsEvent
type OutEvent = MdnsEvent
Event generated by the
NetworkBehaviour
and that the swarm will report back.Source§fn new_handler(&mut self) -> Self::ProtocolsHandler
fn new_handler(&mut self) -> Self::ProtocolsHandler
Creates a new
ProtocolsHandler
for a connection with a peer. Read moreSource§fn addresses_of_peer(&mut self, peer_id: &PeerId) -> Vec<Multiaddr>
fn addresses_of_peer(&mut self, peer_id: &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)
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_disconnected(&mut self, _: &PeerId)
fn inject_disconnected(&mut self, _: &PeerId)
Indicates to the behaviour that we disconnected from the node with the given peer id. Read more
Source§fn inject_event(
&mut self,
_: PeerId,
_: ConnectionId,
ev: <Self::ProtocolsHandler as ProtocolsHandler>::OutEvent,
)
fn inject_event( &mut self, _: PeerId, _: ConnectionId, ev: <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 moreSource§fn poll(
&mut self,
cx: &mut Context<'_>,
params: &mut impl PollParameters,
) -> Poll<NetworkBehaviourAction<<Self::ProtocolsHandler as ProtocolsHandler>::InEvent, Self::OutEvent>>
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_connection_established(
&mut self,
_: &PeerId,
_: &ConnectionId,
_: &ConnectedPoint,
)
fn inject_connection_established( &mut self, _: &PeerId, _: &ConnectionId, _: &ConnectedPoint, )
Informs the behaviour about a newly established connection to a peer.
Source§fn inject_connection_closed(
&mut self,
_: &PeerId,
_: &ConnectionId,
_: &ConnectedPoint,
)
fn inject_connection_closed( &mut self, _: &PeerId, _: &ConnectionId, _: &ConnectedPoint, )
Informs the behaviour about a closed connection to a peer. Read more
Source§fn 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.Source§fn inject_addr_reach_failure(
&mut self,
_peer_id: Option<&PeerId>,
_addr: &Multiaddr,
_error: &dyn Error,
)
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)
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)
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)
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)
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),
)
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>,
)
fn inject_listener_closed( &mut self, _id: ListenerId, _reason: Result<(), &Error>, )
A listener closed.
Auto Trait Implementations§
impl Freeze for Mdns
impl !RefUnwindSafe for Mdns
impl Send for Mdns
impl !Sync for Mdns
impl Unpin for Mdns
impl !UnwindSafe for Mdns
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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