pub fn address_translation<'a>(&'a self, observed_addr: &'a Multiaddr) -> Vec<Multiaddr>
    where
        THandler: 'a,
    {
        let transport = self.listeners.transport();
        let mut addrs: Vec<_> = self
            .listen_addrs()
            .filter_map(move |server| transport.address_translation(server, observed_addr))
            .collect();

        // remove duplicates
        addrs.sort_unstable();
        addrs.dedup();

        addrs
    }
/// Maps the given `observed_addr`, representing an address of the local
/// node observed by a remote peer, onto the locally known listen addresses
/// to yield one or more addresses of the local node that may be publicly
/// reachable.
///
/// I.e. this method incorporates the view of other peers into the listen
/// addresses seen by the local node to account for possible IP and port
/// mappings performed by intermediate network devices in an effort to
/// obtain addresses for the local peer that are also reachable for peers
/// other than the peer who reported the `observed_addr`.
///
/// The translation is transport-specific. See [`Transport::address_translation`].
Maps the given `observed_addr`, representing an address of the local
node observed by a remote peer, onto the locally known listen addresses
to yield one or more addresses of the local node that may be publicly
reachable.



The translation is transport-specific.
Maps the given ` observed_addr ` representing an address of the local node observed by a remote peer onto the locally known listen addresses to yield one or more addresses of the local node that may be publicly reachable . The translation is transport - specific .
pub fn address_translation<'a>(&'a self, observed_addr: &'a Multiaddr) -> Vec<Multiaddr>
    where
        THandler: 'a,
    {
        let transport = self.listeners.transport();
        let mut addrs: Vec<_> = self
            .listen_addrs()
            .filter_map(move |server| transport.address_translation(server, observed_addr))
            .collect();
        // remove duplicates
        addrs.sort_unstable();
        addrs.dedup();
        addrs
    }
pub fn address_translation < ' a > ( & ' a self , observed_addr : & ' a Multiaddr ) -> Vec < Multiaddr > where THandler : ' a , { let transport = self . listeners . transport ( ) ; let mut addrs : Vec < _ > = self . listen_addrs ( ) . filter_map ( move | server | transport . address_translation ( server , observed_addr ) ) . collect ( ) ; // remove duplicates addrs . sort_unstable ( ) ; addrs . dedup ( ) ; addrs }
Maps the given `observed_addr`, representing an address of the local
node observed by a remote peer, onto the locally known listen addresses
to yield one or more addresses of the local node that may be publicly
reachable.
Maps the given ` observed_addr ` representing an address of the local node observed by a remote peer onto the locally known listen addresses to yield one or more addresses of the local node that may be publicly reachable .
&'a self
observed_addr
&'a Multiaddr