pub struct SyncDnssecClient<CC: ClientConnection> { /* private fields */ }
Available on crate feature dnssec only.
Expand description

A DNS client which will validate DNSSEC records upon receipt

Implementations§

source§

impl<CC: ClientConnection> SyncDnssecClient<CC>

source

pub fn new(conn: CC) -> SecureSyncClientBuilder<CC>

Creates a new DNS client with the specified connection type

Arguments
  • client_connection - the client_connection to use for all communication

Trait Implementations§

source§

impl<CC: ClientConnection> Client for SyncDnssecClient<CC>

§

type Response = Pin<Box<dyn Stream<Item = Result<DnsResponse, ProtoError>> + Send>>

The result stream that will resolve into a DnsResponse
§

type Handle = AsyncDnssecClient

The AsyncClient type used
source§

fn new_future( &self ) -> Pin<Box<dyn Future<Output = Result<(Self::Handle, Box<dyn Future<Output = Result<(), ProtoError>> + Send + Unpin + 'static>), ProtoError>> + Send + 'static>>

Return the inner Futures items Read more
source§

fn spawn_client(&self) -> ClientResult<(Self::Handle, Runtime)>

This will create a new AsyncClient and spawn it into a new Runtime
source§

fn send<R: Into<DnsRequest> + Unpin + Send + 'static>( &self, msg: R ) -> Vec<ClientResult<DnsResponse>>

Sends an arbitrary DnsRequest to the client
source§

fn query( &self, name: &Name, query_class: DNSClass, query_type: RecordType ) -> ClientResult<DnsResponse>

A classic DNS query, i.e. does not perform any DNSSEC operations Read more
source§

fn notify<R>( &mut self, name: Name, query_class: DNSClass, query_type: RecordType, rrset: Option<R> ) -> ClientResult<DnsResponse>
where R: Into<RecordSet>,

Sends a NOTIFY message to the remote system Read more
source§

fn create<R>(&self, rrset: R, zone_origin: Name) -> ClientResult<DnsResponse>
where R: Into<RecordSet>,

Sends a record to create on the server, this will fail if the record exists (atomicity depends on the server) Read more
source§

fn append<R>( &self, rrset: R, zone_origin: Name, must_exist: bool ) -> ClientResult<DnsResponse>
where R: Into<RecordSet>,

Appends a record to an existing rrset, optionally require the rrset to exist (atomicity depends on the server) Read more
source§

fn compare_and_swap<CR, NR>( &self, current: CR, new: NR, zone_origin: Name ) -> ClientResult<DnsResponse>
where CR: Into<RecordSet>, NR: Into<RecordSet>,

Compares and if it matches, swaps it for the new value (atomicity depends on the server) Read more
source§

fn delete_by_rdata<R>( &self, record: R, zone_origin: Name ) -> ClientResult<DnsResponse>
where R: Into<RecordSet>,

Deletes a record (by rdata) from an rrset, optionally require the rrset to exist. Read more
source§

fn delete_rrset( &self, record: Record, zone_origin: Name ) -> ClientResult<DnsResponse>

Deletes an entire rrset, optionally require the rrset to exist. Read more
source§

fn delete_all( &self, name_of_records: Name, zone_origin: Name, dns_class: DNSClass ) -> ClientResult<DnsResponse>

Deletes all records at the specified name Read more
source§

fn zone_transfer( &self, name: &Name, last_soa: Option<SOA> ) -> ClientResult<BlockingStream<ClientStreamXfr<<Self as Client>::Response>>>

Download all records from a zone, or all records modified since given SOA was observed. The request will either be a AXFR Query (ask for full zone transfer) if a SOA was not provided, or a IXFR Query (incremental zone transfer) if a SOA was provided. Read more

Auto Trait Implementations§

§

impl<CC> RefUnwindSafe for SyncDnssecClient<CC>
where CC: RefUnwindSafe,

§

impl<CC> Send for SyncDnssecClient<CC>

§

impl<CC> Sync for SyncDnssecClient<CC>

§

impl<CC> Unpin for SyncDnssecClient<CC>

§

impl<CC> UnwindSafe for SyncDnssecClient<CC>
where CC: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more