Struct domain::base::header::HeaderSection

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

The complete header section of a DNS message.

Consists of a Header directly followed by a HeaderCounts.

You can create an owned value via the new function or the Default trait and acquire a pointer referring the the header section of an existing DNS message via the for_message_slice or for_message_slice_mut functions.

Implementations§

source§

impl HeaderSection

§Creation and Conversion

source

pub fn new() -> Self

Creates a new header section.

The value will have all header and header counts fields set to zero or false.

source

pub fn for_message_slice(s: &[u8]) -> &HeaderSection

Creates a reference from the octets slice of a message.

§Panics

This function panics if the octets slice is shorter than 12 octets.

source

pub fn for_message_slice_mut(s: &mut [u8]) -> &mut HeaderSection

Creates a mutable reference from the octets slice of a message.

§Panics

This function panics if the octets slice is shorter than 12 octets.

source

pub fn as_slice(&self) -> &[u8]

Returns a reference to the underlying octets slice.

source§

impl HeaderSection

§Access to Header and Counts

source

pub fn header(&self) -> &Header

Returns a reference to the header.

source

pub fn header_mut(&mut self) -> &mut Header

Returns a mutable reference to the header.

source

pub fn counts(&self) -> &HeaderCounts

Returns a reference to the header counts.

source

pub fn counts_mut(&mut self) -> &mut HeaderCounts

Returns a mutable reference to the header counts.

source§

impl HeaderSection

§Parsing and Composing

source

pub fn parse<Octs: AsRef<[u8]>>( parser: &mut Parser<'_, Octs>, ) -> Result<Self, ParseError>

source

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

Trait Implementations§

source§

impl AsMut<Header> for HeaderSection

source§

fn as_mut(&mut self) -> &mut Header

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl AsMut<HeaderCounts> for HeaderSection

source§

fn as_mut(&mut self) -> &mut HeaderCounts

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl AsRef<Header> for HeaderSection

source§

fn as_ref(&self) -> &Header

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<HeaderCounts> for HeaderSection

source§

fn as_ref(&self) -> &HeaderCounts

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for HeaderSection

source§

fn clone(&self) -> HeaderSection

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 HeaderSection

source§

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

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

impl Default for HeaderSection

source§

fn default() -> HeaderSection

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

impl PartialEq for HeaderSection

source§

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

source§

impl Eq for HeaderSection

source§

impl StructuralPartialEq for HeaderSection

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> 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