Struct BufDnsStreamHandle
pub struct BufDnsStreamHandle { /* private fields */ }
Expand description
A buffering stream bound to a SocketAddr
This stream handle ensures that all messages sent via this handle have the remote_addr set as the destination for the packet
Implementations§
§impl BufDnsStreamHandle
impl BufDnsStreamHandle
pub fn new(
remote_addr: SocketAddr,
) -> (BufDnsStreamHandle, Peekable<Fuse<Receiver<SerialMessage>>>)
pub fn new( remote_addr: SocketAddr, ) -> (BufDnsStreamHandle, Peekable<Fuse<Receiver<SerialMessage>>>)
Constructs a new Buffered Stream Handle, used for sending data to the DNS peer.
§Arguments
remote_addr
- the address of the remote DNS system (client or server)sender
- the handle being used to send data to the server
pub fn with_remote_addr(&self, remote_addr: SocketAddr) -> BufDnsStreamHandle
pub fn with_remote_addr(&self, remote_addr: SocketAddr) -> BufDnsStreamHandle
Associates a different remote address for any responses.
This is mainly useful in server use cases where the incoming address is only known after receiving a packet.
Trait Implementations§
§impl Clone for BufDnsStreamHandle
impl Clone for BufDnsStreamHandle
§fn clone(&self) -> BufDnsStreamHandle
fn clone(&self) -> BufDnsStreamHandle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl DnsStreamHandle for BufDnsStreamHandle
impl DnsStreamHandle for BufDnsStreamHandle
§fn send(&mut self, buffer: SerialMessage) -> Result<(), ProtoError>
fn send(&mut self, buffer: SerialMessage) -> Result<(), ProtoError>
Sends a message to the Handle for delivery to the server.
Auto Trait Implementations§
impl Freeze for BufDnsStreamHandle
impl !RefUnwindSafe for BufDnsStreamHandle
impl Send for BufDnsStreamHandle
impl Sync for BufDnsStreamHandle
impl Unpin for BufDnsStreamHandle
impl !UnwindSafe for BufDnsStreamHandle
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more