pub struct ResourceRecord<'a> {
    pub name: Name<'a>,
    pub class: CLASS,
    pub ttl: u32,
    pub rdata: RData<'a>,
    pub cache_flush: bool,
}
Expand description

Resource Records are used to represent the answer, authority, and additional sections in DNS packets.

Fields§

§name: Name<'a>

A Name to which this resource record pertains.

§class: CLASS

A CLASS that defines the class of the rdata field

§ttl: u32

The time interval (in seconds) that the resource record may becached before it should be discarded.
Zero values are interpreted to mean that the RR can only be used for the transaction in progress, and should not be cached.

§rdata: RData<'a>

A RData with the contents of this resource record

§cache_flush: bool

Indicates if this RR is a cache flush

Implementations§

source§

impl<'a> ResourceRecord<'a>

source

pub fn new(name: Name<'a>, class: CLASS, ttl: u32, rdata: RData<'a>) -> Self

Creates a new ResourceRecord

source

pub fn with_cache_flush(self, cache_flush: bool) -> Self

Consume self and change the cache_flush bit

source

pub fn to_cache_flush_record(&self) -> Self

Returns a cloned self with cache_flush = true

source

pub fn match_qclass(&self, qclass: QCLASS) -> bool

Return true if current resource match given query class

source

pub fn match_qtype(&self, qtype: QTYPE) -> bool

Return true if current resource match given query type

source

pub fn into_owned<'b>(self) -> ResourceRecord<'b>

Transforms the inner data into its owned type

Trait Implementations§

source§

impl<'a> Clone for ResourceRecord<'a>

source§

fn clone(&self) -> ResourceRecord<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for ResourceRecord<'a>

source§

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

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

impl<'a> Hash for ResourceRecord<'a>

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<'a> PartialEq for ResourceRecord<'a>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> Eq for ResourceRecord<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for ResourceRecord<'a>

§

impl<'a> RefUnwindSafe for ResourceRecord<'a>

§

impl<'a> Send for ResourceRecord<'a>

§

impl<'a> Sync for ResourceRecord<'a>

§

impl<'a> Unpin for ResourceRecord<'a>

§

impl<'a> UnwindSafe for ResourceRecord<'a>

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, 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.