pub struct Name<'a> { /* private fields */ }Expand description
A Name represents a domain-name, which consists of character strings separated by dots.
Each section of a name is called label
ex: google.com consists of two labels google and com
Implementations§
Source§impl<'a> Name<'a>
impl<'a> Name<'a>
Sourcepub fn new_unchecked(name: &'a str) -> Self
pub fn new_unchecked(name: &'a str) -> Self
Create a new Name without checking for size limits
Sourcepub fn is_link_local(&self) -> bool
pub fn is_link_local(&self) -> bool
Verify if name ends with .local.
Sourcepub fn is_subdomain_of(&self, other: &Name<'_>) -> bool
pub fn is_subdomain_of(&self, other: &Name<'_>) -> bool
Returns true if self is a subdomain of other
Sourcepub fn without(&self, domain: &Name<'_>) -> Option<Name<'_>>
pub fn without(&self, domain: &Name<'_>) -> Option<Name<'_>>
Returns the subdomain part of self, based on domain.
If self is not a subdomain of domain, returns None
Example:
let name = Name::new_unchecked("sub.domain.local");
let domain = Name::new_unchecked("domain.local");
assert!(domain.without(&name).is_none());
let sub = name.without(&domain).unwrap();
assert_eq!(sub.to_string(), "sub")Sourcepub fn into_owned<'b>(self) -> Name<'b>
pub fn into_owned<'b>(self) -> Name<'b>
Transforms the inner data into its owned type
Sourcepub fn get_labels(&self) -> &[Label<'_>]
pub fn get_labels(&self) -> &[Label<'_>]
Get the labels that compose this name
Trait Implementations§
impl<'a> Eq for Name<'a>
Auto Trait Implementations§
impl<'a> Freeze for Name<'a>
impl<'a> RefUnwindSafe for Name<'a>
impl<'a> Send for Name<'a>
impl<'a> Sync for Name<'a>
impl<'a> Unpin for Name<'a>
impl<'a> UnwindSafe for Name<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more