Struct libp2p_mdns::Mdns[][src]

pub struct Mdns { /* fields omitted */ }

A NetworkBehaviour for mDNS. Automatically discovers peers on the local network and adds them to the topology.

Implementations

impl Mdns[src]

pub async fn new(config: MdnsConfig) -> Result<Self>[src]

Builds a new Mdns behaviour.

pub fn has_node(&self, peer_id: &PeerId) -> bool[src]

Returns true if the given PeerId is in the list of nodes discovered through mDNS.

pub fn discovered_nodes(&self) -> impl ExactSizeIterator<Item = &PeerId>[src]

Returns the list of nodes that we have discovered through mDNS and that are not expired.

Trait Implementations

impl Debug for Mdns[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl NetworkBehaviour for Mdns[src]

type ProtocolsHandler = DummyProtocolsHandler

Handler for all the protocols the network behaviour supports.

type OutEvent = MdnsEvent

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

fn new_handler(&mut self) -> Self::ProtocolsHandler[src]

Creates a new ProtocolsHandler for a connection with a peer. Read more

fn addresses_of_peer(&mut self, peer_id: &PeerId) -> Vec<Multiaddr>[src]

Addresses that this behaviour is aware of for this specific peer, and that may allow reaching the peer. Read more

fn inject_connected(&mut self, _: &PeerId)[src]

Indicate to the behaviour that we connected to the node with the given peer id. Read more

fn inject_disconnected(&mut self, _: &PeerId)[src]

Indicates to the behaviour that we disconnected from the node with the given peer id. Read more

fn inject_event(
    &mut self,
    _: PeerId,
    _: ConnectionId,
    ev: <Self::ProtocolsHandler as ProtocolsHandler>::OutEvent
)
[src]

Informs the behaviour about an event generated by the handler dedicated to the peer identified by peer_id. for the behaviour. Read more

fn inject_new_listen_addr(&mut self, _id: ListenerId, _addr: &Multiaddr)[src]

Indicates to the behaviour that we have started listening on a new multiaddr.

fn poll(
    &mut self,
    cx: &mut Context<'_>,
    params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<<Self::ProtocolsHandler as ProtocolsHandler>::InEvent, Self::OutEvent>>
[src]

Polls for things that swarm should do. Read more

fn inject_connection_established(
    &mut self,
    &PeerId,
    &ConnectionId,
    &ConnectedPoint
)
[src]

Informs the behaviour about a newly established connection to a peer.

fn inject_connection_closed(&mut self, &PeerId, &ConnectionId, &ConnectedPoint)[src]

Informs the behaviour about a closed connection to a peer. Read more

fn inject_address_change(
    &mut self,
    &PeerId,
    &ConnectionId,
    _old: &ConnectedPoint,
    _new: &ConnectedPoint
)
[src]

Informs the behaviour that the ConnectedPoint of an existing connection has changed.

fn inject_addr_reach_failure(
    &mut self,
    _peer_id: Option<&PeerId>,
    _addr: &Multiaddr,
    _error: &dyn Error
)
[src]

Indicates to the behaviour that we tried to reach an address, but failed. Read more

fn inject_dial_failure(&mut self, _peer_id: &PeerId)[src]

Indicates to the behaviour that we tried to dial all the addresses known for a node, but failed. Read more

fn inject_new_listener(&mut self, _id: ListenerId)[src]

Indicates to the behaviour that a new listener was created.

fn inject_expired_listen_addr(&mut self, _id: ListenerId, _addr: &Multiaddr)[src]

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

fn inject_listener_error(
    &mut self,
    _id: ListenerId,
    _err: &(dyn Error + 'static)
)
[src]

A listener experienced an error.

fn inject_listener_closed(
    &mut self,
    _id: ListenerId,
    _reason: Result<(), &Error>
)
[src]

A listener closed.

fn inject_new_external_addr(&mut self, _addr: &Multiaddr)[src]

Indicates to the behaviour that we have discovered a new external address for us.

fn inject_expired_external_addr(&mut self, _addr: &Multiaddr)[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

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

pub fn vzip(self) -> V