Enum jid::Jid

source ·
pub enum Jid {
    Bare(BareJid),
    Full(FullJid),
}
Expand description

An enum representing a Jabber ID. It can be either a FullJid or a BareJid.

Variants§

§

Bare(BareJid)

Contains a BareJid, without a resource part

§

Full(FullJid)

Contains a FullJid, with a resource part

Implementations§

source§

impl Jid

source

pub fn new(s: &str) -> Result<Jid, Error>

Constructs a Jabber ID from a string. This is of the form node@domain/resource, where node and resource parts are optional. If you want a non-fallible version, use Jid::from_parts instead.

Examples
use jid::Jid;

let jid = Jid::new("node@domain/resource")?;

assert_eq!(jid.node_str(), Some("node"));
assert_eq!(jid.domain_str(), "domain");
assert_eq!(jid.resource_str(), Some("resource"));
source

pub fn into_inner(self) -> String

Returns the inner String of this JID.

source

pub fn from_parts( node: Option<&NodePart>, domain: &DomainPart, resource: Option<&ResourcePart> ) -> Jid

Build a Jid from typed parts. This method cannot fail because it uses parts that have already been parsed and stringprepped into NodePart, DomainPart, and ResourcePart. This method allocates and does not consume the typed parts.

source

pub fn node(&self) -> Option<NodePart>

The optional node part of the JID, as a NodePart

source

pub fn node_str(&self) -> Option<&str>

The optional node part of the JID, as a stringy reference

source

pub fn domain(&self) -> DomainPart

The domain part of the JID, as a DomainPart

source

pub fn domain_str(&self) -> &str

The domain part of the JID, as a stringy reference

source

pub fn resource(&self) -> Option<ResourcePart>

The optional resource part of the JID, as a ResourcePart. It is guaranteed to be present when the JID is a Full variant, which you can check with Jid::is_full.

source

pub fn resource_str(&self) -> Option<&str>

The optional resource of the Jabber ID. It is guaranteed to be present when the JID is a Full variant, which you can check with Jid::is_full.

source

pub fn to_bare(&self) -> BareJid

Allocate a new BareJid from this JID, discarding the resource.

source

pub fn into_bare(self) -> BareJid

Transforms this JID into a BareJid, throwing away the resource.

source

pub fn is_full(&self) -> bool

Checks if the JID contains a FullJid

source

pub fn is_bare(&self) -> bool

Checks if the JID contains a BareJid

Trait Implementations§

source§

impl Clone for Jid

source§

fn clone(&self) -> Jid

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 Jid

source§

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

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

impl Display for Jid

source§

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

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

impl From<BareJid> for Jid

source§

fn from(bare_jid: BareJid) -> Jid

Converts to this type from the input type.
source§

impl From<FullJid> for Jid

source§

fn from(full_jid: FullJid) -> Jid

Converts to this type from the input type.
source§

impl FromStr for Jid

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Jid, Error>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Jid

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

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

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<BareJid> for Jid

source§

fn eq(&self, other: &BareJid) -> 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 PartialEq<FullJid> for Jid

source§

fn eq(&self, other: &FullJid) -> 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 PartialEq<Jid> for BareJid

source§

fn eq(&self, other: &Jid) -> 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 PartialEq<Jid> for FullJid

source§

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

source§

fn eq(&self, other: &Jid) -> 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 TryFrom<Jid> for FullJid

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(jid: Jid) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Eq for Jid

source§

impl StructuralEq for Jid

source§

impl StructuralPartialEq for Jid

Auto Trait Implementations§

§

impl RefUnwindSafe for Jid

§

impl Send for Jid

§

impl Sync for Jid

§

impl Unpin for Jid

§

impl UnwindSafe for Jid

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> ToOwned for Twhere 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> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.