[][src]Struct trust_dns_proto::rr::domain::Label

pub struct Label(_);

Labels are always stored as ASCII, unicode characters must be encoded with punycode

Methods

impl Label[src]

pub fn from_raw_bytes(bytes: &[u8]) -> ProtoResult<Self>[src]

These must only be ASCII, with unicode encoded to PunyCode, or other such transformation.

This uses the bytes as raw ascii values, with nothing escaped on the wire. Generally users should use from_str or from_ascii

pub fn from_utf8(s: &str) -> ProtoResult<Self>[src]

Translates this string into IDNA safe name, encoding to punycode as necessary.

pub fn from_ascii(s: &str) -> ProtoResult<Self>[src]

Takes the ascii string and returns a new label.

This will return an Error if the label is not an ascii string

pub fn wildcard() -> Self[src]

Returns a new Label of the Wildcard, i.e. "*"

pub fn to_lowercase(&self) -> Self[src]

Converts this label to lowercase

pub fn is_wildcard(&self) -> bool[src]

Returns true if this label is the wildcard, '*', label

pub fn len(&self) -> usize[src]

Returns the lenght in bytes of this label

pub fn is_empty(&self) -> bool[src]

True if the label contains no characters

pub fn as_bytes(&self) -> &[u8][src]

Returns the raw bytes of the label, this is good for writing to the wire.

See Display for presentation version (unescaped from punycode, etc)

pub fn eq_ignore_ascii_case(&self, other: &Self) -> bool[src]

Performs the equivalence operation disregarding case

pub fn cmp_with_f<F: LabelCmp>(&self, other: &Self) -> Ordering[src]

compares with the other label, ignoring case

pub fn to_utf8(&self) -> String[src]

Performs the conversion to utf8 from IDNA as necessary, see fmt for more details

pub fn to_ascii(&self) -> String[src]

Converts this label to safe ascii, escaping characters as necessary

If this is an IDNA, punycode, label, then the xn-- prefix will be maintained as ascii

pub fn write_ascii<W: Write>(&self, f: &mut W) -> Result<(), Error>[src]

Writes this label to safe ascii, escaping characters as necessary

Trait Implementations

impl<'a> IntoLabel for &'a Label[src]

impl IntoLabel for Label[src]

impl Ord for Label[src]

fn max(self, other: Self) -> Self1.21.0[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self1.21.0[src]

Compares and returns the minimum of two values. Read more

fn clamp(self, min: Self, max: Self) -> Self[src]

🔬 This is a nightly-only experimental API. (clamp)

Restrict a value to a certain interval. Read more

impl Clone for Label[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl PartialEq<Label> for Label[src]

#[must_use] fn ne(&self, other: &Rhs) -> bool1.0.0[src]

This method tests for !=.

impl AsRef<[u8]> for Label[src]

impl Eq for Label[src]

impl PartialOrd<Label> for Label[src]

#[must_use] fn lt(&self, other: &Rhs) -> bool1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use] fn le(&self, other: &Rhs) -> bool1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use] fn gt(&self, other: &Rhs) -> bool1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use] fn ge(&self, other: &Rhs) -> bool1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Debug for Label[src]

impl Display for Label[src]

fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]

outputs characters in a safe string manner.

if the string is punycode, i.e. starts with xn--, otherwise it translates to a safe ascii string escaping characters as necessary.

impl Hash for Label[src]

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

Feeds a slice of this type into the given [Hasher]. Read more

impl Borrow<[u8]> for Label[src]

Auto Trait Implementations

impl Sync for Label

impl Unpin for Label

impl Send for Label

impl UnwindSafe for Label

impl RefUnwindSafe for Label

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, V> SliceConcat<T> for V where
    T: Clone,
    V: Borrow<[T]>, 
[src]

type Output = Vec<T>

🔬 This is a nightly-only experimental API. (slice_concat_trait)

The resulting type after concatenation

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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

impl<T> Erased for T