[][src]Struct trust_dns_client::client::MemoizeClientHandle

#[must_use = "queries can only be sent through a ClientHandle"]pub struct MemoizeClientHandle<H: ClientHandle> { /* fields omitted */ }

A ClientHandle for memoized (cached) responses to queries.

This wraps a ClientHandle, changing the implementation send() to store the response against the Message.Query that was sent. This should reduce network traffic especially during things like DNSSec validation. Warning this will currently cache for the life of the Client.

Implementations

impl<H> MemoizeClientHandle<H> where
    H: ClientHandle
[src]

pub fn new(client: H) -> MemoizeClientHandle<H>[src]

Returns a new handle wrapping the specified client

Trait Implementations

impl<H: Clone + ClientHandle> Clone for MemoizeClientHandle<H>[src]

impl<H> DnsHandle for MemoizeClientHandle<H> where
    H: ClientHandle
[src]

type Response = Pin<Box<dyn Future<Output = Result<DnsResponse, ProtoError>> + Send>>

The associated response from the response future, this should resolve to the Response message

Auto Trait Implementations

impl<H> !RefUnwindSafe for MemoizeClientHandle<H>

impl<H> Send for MemoizeClientHandle<H> where
    <H as DnsHandle>::Response: Send

impl<H> Sync for MemoizeClientHandle<H> where
    <H as DnsHandle>::Response: Send

impl<H> Unpin for MemoizeClientHandle<H>

impl<H> !UnwindSafe for MemoizeClientHandle<H>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,