pub async fn dial(
        &mut self,
        peer_addr: &Multiaddr,
    ) -> Result<(), Box<dyn error::Error + Send>> {
        debug!("p2p::Client::dial {:?}", peer_addr);

        let (sender, receiver) = oneshot::channel();
        self.sender
            .send(Command::Dial {
                peer_addr: peer_addr.clone(),
                sender,
            })
            .await
            .expect("Command receiver not to be dropped.");
        receiver.await.expect("Sender not to be dropped.")
    }
/// Dial a peer with the specified address.
Dial a peer with the specified address.
Dial a peer with the specified address .
pub async fn dial(
        &mut self,
        peer_addr: &Multiaddr,
    ) -> Result<(), Box<dyn error::Error + Send>> {
        debug!("p2p::Client::dial {:?}", peer_addr);
        let (sender, receiver) = oneshot::channel();
        self.sender
            .send(Command::Dial {
                peer_addr: peer_addr.clone(),
                sender,
            })
            .await
            .expect("Command receiver not to be dropped.");
        receiver.await.expect("Sender not to be dropped.")
    }
pub async fn dial ( & mut self , peer_addr : & Multiaddr , ) -> Result < ( ) , Box < dyn error :: Error + Send > > { debug ! ( " " peer_addr ) ; let ( sender , receiver ) = oneshot :: channel ( ) ; self . sender . send ( Command :: Dial { peer_addr : peer_addr . clone ( ) , sender , } ) . await . expect ( " " ) ; receiver . await . expect ( " " ) }
Dial a peer with the specified address.
Dial a peer with the specified address .
&mut self
peer_addr
&Multiaddr
&mut self
peer_addr
&Multiaddr