Struct xstack_dnsaddr::DnsAddr
source · pub struct DnsAddr(/* private fields */);Expand description
A transport that resolve name-based multiaddrs into IP addresses.
Add IP and Name Resolution capabilities to XSTACK by:
use xstack::Switch;
use xstack_dnsaddr::DnsAddr;
let switch = Switch::new("test")
.transport(DnsAddr::new().await.unwrap())
.create()
.await
.unwrap();
let (stream,_) = switch
.connect(
"/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
["/ipfs/kad/1.0.0"]
).await.unwrap();Implementations§
Trait Implementations§
source§impl DriverTransport for DnsAddr
impl DriverTransport for DnsAddr
source§fn bind<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
laddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<TransportListener>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn bind<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
laddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<TransportListener>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create a server-side socket with provided laddr.
source§fn connect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
raddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<P2pConn>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn connect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
raddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<P2pConn>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Connect to peer with remote peer raddr.
source§fn multiaddr_hint(&self, addr: &Multiaddr) -> bool
fn multiaddr_hint(&self, addr: &Multiaddr) -> bool
Check if this transport support the protocol stack represented by the addr.
source§fn activities(&self) -> usize
fn activities(&self) -> usize
Returns the actives connection number.
Auto Trait Implementations§
impl Freeze for DnsAddr
impl !RefUnwindSafe for DnsAddr
impl Send for DnsAddr
impl Sync for DnsAddr
impl Unpin for DnsAddr
impl !UnwindSafe for DnsAddr
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