pub struct Capabilities(/* private fields */);
Expand description

From section 7.2.1 of RFC 3501.

A list of capabilities that the server supports. The capability list will include the atom “IMAP4rev1”.

In addition, all servers implement the STARTTLS, LOGINDISABLED, and AUTH=PLAIN (described in IMAP-TLS) capabilities. See the Security Considerations section of the RFC for important information.

A capability name which begins with AUTH= indicates that the server supports that particular authentication mechanism.

The LOGINDISABLED capability indicates that the LOGIN command is disabled, and that the server will respond with a crate::error::Error::No response to any attempt to use the LOGIN command even if the user name and password are valid. An IMAP client MUST NOT issue the LOGIN command if the server advertises the LOGINDISABLED capability.

Other capability names indicate that the server supports an extension, revision, or amendment to the IMAP4rev1 protocol. Capability names either begin with X or they are standard or standards-track RFC 3501 extensions, revisions, or amendments registered with IANA.

Client implementations SHOULD NOT require any capability name other than IMAP4rev1, and MUST ignore any unknown capability names.

Implementations§

source§

impl Capabilities

source

pub fn has(&self, cap: &Capability) -> bool

Check if the server has the given capability.

source

pub fn has_str<S: AsRef<str>>(&self, cap: S) -> bool

Check if the server has the given capability via str.

source

pub fn iter(&self) -> Iter<'_, Capability>

Iterate over all the server’s capabilities

source

pub fn len(&self) -> usize

Returns how many capabilities the server has.

source

pub fn is_empty(&self) -> bool

Returns true if the server purports to have no capabilities.

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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>,

§

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

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more