Characters

Struct Characters 

Source
pub struct Characters<'a> { /* private fields */ }
Expand description

A DNS message characters. It is a sequence of characters, where the first byte is the length of the sequence.

Implementations§

Source§

impl<'a> Characters<'a>

Source

pub const fn new(bytes: &'a [u8]) -> Result<Self, DnsMessageError>

Create a new Characters from a byte slice. The first byte of the slice must be the length of the sequence. The maximum length of the sequence is checked and 255, the first byte, must be equal to the length of the slice minus 1, which is also checked. Use this function if you want to create a Characters from a byte slice of unknown length. If you know the length of the slice at compile time, use the dns_characters! macro instead.

Source

pub const unsafe fn new_unchecked(bytes: &'a [u8]) -> Self

Create a new Characters from a byte slice. The first byte of the slice must be the length of the sequence. The maximum length of the sequence is not checked and 255, the first byte, must be equal to the length of the slice minus 1, which is also not checked, hence the unsafe. Using this function is unsafe cause it can lead to an invalid DNS message.

Trait Implementations§

Source§

impl<'a> AsRef<[u8]> for Characters<'a>

Source§

fn as_ref(&self) -> &[u8]

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

impl<'a> Clone for Characters<'a>

Source§

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

Returns a duplicate 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 Characters<'a>

Source§

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

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

impl<'a> Display for Characters<'a>

Source§

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

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

impl<'a> PartialEq for Characters<'a>

Source§

fn eq(&self, other: &Characters<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> Copy for Characters<'a>

Source§

impl<'a> StructuralPartialEq for Characters<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Characters<'a>

§

impl<'a> RefUnwindSafe for Characters<'a>

§

impl<'a> Send for Characters<'a>

§

impl<'a> Sync for Characters<'a>

§

impl<'a> Unpin for Characters<'a>

§

impl<'a> UnwindSafe for Characters<'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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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

Source§

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.