pub enum AuthLookup {
    Empty,
    Records {
        answers: LookupRecords,
        additionals: Option<LookupRecords>,
    },
    SOA(LookupRecords),
    AXFR {
        start_soa: LookupRecords,
        records: LookupRecords,
        end_soa: LookupRecords,
    },
}
Expand description

The result of a lookup on an Authority

Lifetimes

  • 'c - the catalogue lifetime
  • 'r - the recordset lifetime, subset of ’c
  • 'q - the queries lifetime

Variants§

§

Empty

No records

§

Records

Fields

§answers: LookupRecords

Authoritative answers

§additionals: Option<LookupRecords>

Optional set of LookupRecords

Records

§

SOA(LookupRecords)

Soa only differs from Records in that the lifetime on the name is from the authority, and not the query

§

AXFR

Fields

§start_soa: LookupRecords

The first SOA record in an AXFR response

§records: LookupRecords

The records to return

§end_soa: LookupRecords

The last SOA record of an AXFR (matches the first)

An axfr starts with soa, chained to all the records, then another soa…

Implementations§

source§

impl AuthLookup

source

pub fn answers( answers: LookupRecords, additionals: Option<LookupRecords> ) -> Self

Construct an answer with additional section

source

pub fn is_empty(&self) -> bool

Returns true if either the associated Records are empty, or this is a NameExists or NxDomain

source

pub fn was_empty(&self) -> bool

This is an NxDomain or NameExists, and has no associated records

this consumes the iterator, and verifies it is empty

source

pub fn iter(&self) -> AuthLookupIter<'_>

Conversion to an iterator

source

pub fn unwrap_records(self) -> LookupRecords

Does not panic, but will return no records if it is not of that type

source

pub fn take_additionals(&mut self) -> Option<LookupRecords>

Takes the additional records, leaving behind None

Trait Implementations§

source§

impl Debug for AuthLookup

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AuthLookup

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<LookupRecords> for AuthLookup

source§

fn from(lookup: LookupRecords) -> Self

Converts to this type from the input type.
source§

impl<'a> IntoIterator for &'a AuthLookup

§

type Item = &'a Record

The type of the elements being iterated over.
§

type IntoIter = AuthLookupIter<'a>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl LookupObject for AuthLookup

source§

fn is_empty(&self) -> bool

Returns true if either the associated Records are empty, or this is a NameExists or NxDomain
source§

fn iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a Record> + Send + 'a>

Conversion to an iterator
source§

fn take_additionals(&mut self) -> Option<Box<dyn LookupObject>>

For CNAME and similar records, this is an additional set of lookup records Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere 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 Twhere 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 Twhere 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