pub struct UdpClientStreamBuilder<P> { /* private fields */ }Expand description
A builder to create a UDP client stream.
This is created by UdpClientStream::builder.
Implementations§
Source§impl<P: RuntimeProvider> UdpClientStreamBuilder<P>
impl<P: RuntimeProvider> UdpClientStreamBuilder<P>
Sourcepub fn with_timeout(self, timeout: Option<Duration>) -> Self
pub fn with_timeout(self, timeout: Option<Duration>) -> Self
Sets the connection timeout.
Sourcepub fn with_bind_addr(self, bind_addr: Option<SocketAddr>) -> Self
pub fn with_bind_addr(self, bind_addr: Option<SocketAddr>) -> Self
Sets the local socket address to connect from.
If the port number is 0, a random port number will be chosen to defend against spoofing attacks. If the port number is nonzero, it will be used instead.
Sourcepub fn avoid_local_ports(self, avoid_local_ports: Arc<HashSet<u16>>) -> Self
pub fn avoid_local_ports(self, avoid_local_ports: Arc<HashSet<u16>>) -> Self
Configures a list of local UDP ports that should not be used when making outgoing connections.
Sourcepub fn with_os_port_selection(self, os_port_selection: bool) -> Self
pub fn with_os_port_selection(self, os_port_selection: bool) -> Self
Configures that OS should provide the ephemeral port, not the Hickory DNS
Sourcepub fn with_max_retries(self, max_retries: u8) -> Self
pub fn with_max_retries(self, max_retries: u8) -> Self
Sets the maximum number of retries for a single request
Sourcepub fn with_retry_interval_floor(self, floor: u64) -> Self
pub fn with_retry_interval_floor(self, floor: u64) -> Self
Sets the retry interval floor
Sourcepub fn exchange(self) -> DnsExchange<P>
pub fn exchange(self) -> DnsExchange<P>
Wrap a DnsExchange around the built UdpClientStream
Sourcepub fn build(self) -> UdpClientStream<P>
pub fn build(self) -> UdpClientStream<P>
Construct a new UDP client stream.
Returns a future that outputs the client stream.
Auto Trait Implementations§
impl<P> Freeze for UdpClientStreamBuilder<P>where
P: Freeze,
impl<P> RefUnwindSafe for UdpClientStreamBuilder<P>where
P: RefUnwindSafe,
impl<P> Send for UdpClientStreamBuilder<P>where
P: Send,
impl<P> Sync for UdpClientStreamBuilder<P>where
P: Sync,
impl<P> Unpin for UdpClientStreamBuilder<P>where
P: Unpin,
impl<P> UnsafeUnpin for UdpClientStreamBuilder<P>where
P: UnsafeUnpin,
impl<P> UnwindSafe for UdpClientStreamBuilder<P>where
P: UnwindSafe,
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more