Struct libp2p::dns::GenDnsConfig [−][src]
pub struct GenDnsConfig<T, C, P> where
C: DnsHandle<Error = ResolveError>,
P: ConnectionProvider<Conn = C>, { /* fields omitted */ }
Expand description
A Transport
wrapper for performing DNS lookups when dialing Multiaddr
esses.
Implementations
pub async fn system(
inner: T
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<AsyncStdRuntime>>, Error>
pub async fn system(
inner: T
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<AsyncStdRuntime>>, Error>
Creates a new DnsConfig
from the OS’s DNS configuration and defaults.
pub async fn custom(
inner: T,
cfg: ResolverConfig,
opts: ResolverOpts
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<AsyncStdRuntime>>, Error>
pub async fn custom(
inner: T,
cfg: ResolverConfig,
opts: ResolverOpts
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<AsyncStdRuntime>>, Error>
Creates a DnsConfig
with a custom resolver configuration and options.
pub fn system(
inner: T
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<TokioRuntime>>, Error>
pub fn system(
inner: T
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<TokioRuntime>>, Error>
Creates a new TokioDnsConfig
from the OS’s DNS configuration and defaults.
pub fn custom(
inner: T,
cfg: ResolverConfig,
opts: ResolverOpts
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<TokioRuntime>>, Error>
pub fn custom(
inner: T,
cfg: ResolverConfig,
opts: ResolverOpts
) -> Result<GenDnsConfig<T, GenericConnection, GenericConnectionProvider<TokioRuntime>>, Error>
Creates a TokioDnsConfig
with a custom resolver configuration
and options.
Trait Implementations
impl<T, C, P> Clone for GenDnsConfig<T, C, P> where
C: Clone + DnsHandle<Error = ResolveError>,
T: Clone,
P: Clone + ConnectionProvider<Conn = C>,
impl<T, C, P> Clone for GenDnsConfig<T, C, P> where
C: Clone + DnsHandle<Error = ResolveError>,
T: Clone,
P: Clone + ConnectionProvider<Conn = C>,
impl<T, C, P> Debug for GenDnsConfig<T, C, P> where
C: DnsHandle<Error = ResolveError>,
T: Debug,
P: ConnectionProvider<Conn = C>,
impl<T, C, P> Debug for GenDnsConfig<T, C, P> where
C: DnsHandle<Error = ResolveError>,
T: Debug,
P: ConnectionProvider<Conn = C>,
The result of a connection setup process, including protocol upgrades. Read more
type Listener = MapErr<MapOk<<T as Transport>::Listener, fn(ListenerEvent<<T as Transport>::ListenerUpgrade, <T as Transport>::Error>) -> ListenerEvent<<GenDnsConfig<T, C, P> as Transport>::ListenerUpgrade, <GenDnsConfig<T, C, P> as Transport>::Error>>, fn(<T as Transport>::Error) -> <GenDnsConfig<T, C, P> as Transport>::Error>
type Listener = MapErr<MapOk<<T as Transport>::Listener, fn(ListenerEvent<<T as Transport>::ListenerUpgrade, <T as Transport>::Error>) -> ListenerEvent<<GenDnsConfig<T, C, P> as Transport>::ListenerUpgrade, <GenDnsConfig<T, C, P> as Transport>::Error>>, fn(<T as Transport>::Error) -> <GenDnsConfig<T, C, P> as Transport>::Error>
type ListenerUpgrade = MapErr<<T as Transport>::ListenerUpgrade, fn(<T as Transport>::Error) -> <GenDnsConfig<T, C, P> as Transport>::Error>
type ListenerUpgrade = MapErr<<T as Transport>::ListenerUpgrade, fn(<T as Transport>::Error) -> <GenDnsConfig<T, C, P> as Transport>::Error>
pub fn listen_on(
self,
addr: Multiaddr
) -> Result<<GenDnsConfig<T, C, P> as Transport>::Listener, TransportError<<GenDnsConfig<T, C, P> as Transport>::Error>>
pub fn listen_on(
self,
addr: Multiaddr
) -> Result<<GenDnsConfig<T, C, P> as Transport>::Listener, TransportError<<GenDnsConfig<T, C, P> as Transport>::Error>>
Listens on the given Multiaddr
, producing a stream of pending, inbound connections
and addresses this transport is listening on (cf. ListenerEvent
). Read more
pub fn dial(
self,
addr: Multiaddr
) -> Result<<GenDnsConfig<T, C, P> as Transport>::Dial, TransportError<<GenDnsConfig<T, C, P> as Transport>::Error>>
pub fn dial(
self,
addr: Multiaddr
) -> Result<<GenDnsConfig<T, C, P> as Transport>::Dial, TransportError<<GenDnsConfig<T, C, P> as Transport>::Error>>
Performs a transport-specific mapping of an address observed
by
a remote onto a local listen
address to yield an address for
the local node that may be reachable for other peers. Read more
Boxes the transport, including custom transport errors.
Applies a function on the connections created by the transport.
Applies a function on the errors generated by the futures of the transport.
fn or_transport<U>(self, other: U) -> OrTransport<Self, U> where
U: Transport,
<U as Transport>::Error: 'static,
fn or_transport<U>(self, other: U) -> OrTransport<Self, U> where
U: Transport,
<U as Transport>::Error: 'static,
Adds a fallback transport that is used when encountering errors while establishing inbound or outbound connections. Read more
Applies a function producing an asynchronous result to every connection created by this transport. Read more
Auto Trait Implementations
impl<T, C, P> !RefUnwindSafe for GenDnsConfig<T, C, P>
impl<T, C, P> Send for GenDnsConfig<T, C, P> where
T: Send,
impl<T, C, P> Sync for GenDnsConfig<T, C, P> where
T: Sync,
impl<T, C, P> Unpin for GenDnsConfig<T, C, P> where
T: Unpin,
impl<T, C, P> !UnwindSafe for GenDnsConfig<T, C, P>
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V