Struct domain::base::opt::OptHeader

source ·
pub struct OptHeader { /* private fields */ }
Expand description

The header of an OPT record.

The OPT record reappropriates the record header for encoding some basic information. This type provides access to this information. It consists of the record header accept for its rdlen field.

This is so that OptBuilder can safely deref to this type.

Implementations§

source§

impl OptHeader

source

pub fn for_record_slice(slice: &[u8]) -> &OptHeader

Returns a reference to an OPT header pointing into a record’s octets.

source

pub fn for_record_slice_mut(slice: &mut [u8]) -> &mut OptHeader

Returns a mutable reference pointing into a record’s octets.

source

pub fn udp_payload_size(&self) -> u16

Returns the UDP payload size.

Through this field a sender of a message can signal the maximum size of UDP payload the sender is able to handle when receiving messages. This value refers to the abilities of the sender’s DNS implementation, not such things as network MTUs. Which means that the largest UDP payload that can actually be sent back to the sender may be smaller.

source

pub fn set_udp_payload_size(&mut self, value: u16)

Sets the UDP payload size value.

source

pub fn rcode(&self, header: Header) -> OptRcode

Returns the extended rcode.

Some of the bits of the rcode are stored in the regular message header. Such a header needs to be passed to the method.

source

pub fn set_rcode(&mut self, rcode: OptRcode)

Sets the extend rcode of the OPT header.

This method only sets the upper bits of the rcode. The lower bits need to be set in the message header.

source

pub fn version(&self) -> u8

Returns the EDNS version of the OPT header.

Only EDNS version 0 is currently defined.

source

pub fn set_version(&mut self, version: u8)

Sets the EDNS version of the OPT header.

source

pub fn dnssec_ok(&self) -> bool

Returns the value of the DNSSEC OK (DO) bit.

By setting this bit, a resolver indicates that it is interested in also receiving the DNSSEC-related resource records necessary to validate an answer. The bit and the related procedures are defined in RFC 3225.

source

pub fn set_dnssec_ok(&mut self, value: bool)

Sets the DNSSEC OK (DO) bit to the given value.

source

pub fn compose<Target: OctetsBuilder + ?Sized>( self, target: &mut Target, ) -> Result<(), Target::AppendError>

Trait Implementations§

source§

impl Clone for OptHeader

source§

fn clone(&self) -> OptHeader

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 Debug for OptHeader

source§

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

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

impl Default for OptHeader

source§

fn default() -> Self

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

impl PartialEq for OptHeader

source§

fn eq(&self, other: &OptHeader) -> 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 Copy for OptHeader

source§

impl Eq for OptHeader

source§

impl StructuralPartialEq for OptHeader

Auto Trait Implementations§

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

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> CloneToUninit for T
where T: Copy,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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<Source, Target> OctetsInto<Target> for Source
where Target: OctetsFrom<Source>,

§

type Error = <Target as OctetsFrom<Source>>::Error

source§

fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>

Performs the conversion.
source§

fn octets_into(self) -> Target
where Self::Error: Into<Infallible>,

Performs an infallible conversion.
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.
source§

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

source§

fn vzip(self) -> V