pub enum Resource<'a> {
    Storage,
    Message,
    Mailbox,
    AnnotationStorage,
    Other(ResourceOther<'a>),
}
Expand description

A resource type for use in IMAP’s QUOTA extension.

Supported resource names MUST be advertised as a capability by prepending the resource name with “QUOTA=RES-”.

Variants§

§

Storage

The physical space estimate, in units of 1024 octets, of the mailboxes governed by the quota root.

This MAY not be the same as the sum of the RFC822.SIZE of the messages. Some implementations MAY include metadata sizes for the messages and mailboxes, and other implementations MAY store messages in such a way that the physical space used is smaller, for example, due to use of compression. Additional messages might not increase the usage. Clients MUST NOT use the usage figure for anything other than informational purposes; for example, they MUST NOT refuse to APPEND a message if the limit less the usage is smaller than the RFC822.SIZE divided by 1024 octets of the message, but it MAY warn about such condition. The usage figure may change as a result of performing actions not associated with adding new messages to the mailbox, such as SEARCH, since this may increase the amount of metadata included in the calculations.

When the server supports this resource type, it MUST also support the DELETED-STORAGE status data item.

Support for this resource MUST be indicated by the server by advertising the “QUOTA=RES-STORAGE” capability.

§

Message

The number of messages stored within the mailboxes governed by the quota root.

This MUST be an exact number; however, clients MUST NOT assume that a change in the usage indicates a change in the number of messages available, since the quota root may include mailboxes the client has no access to.

When the server supports this resource type, it MUST also support the DELETED status data item.

Support for this resource MUST be indicated by the server by advertising the “QUOTA=RES-MESSAGE” capability.

§

Mailbox

The number of mailboxes governed by the quota root.

This MUST be an exact number; however, clients MUST NOT assume that a change in the usage indicates a change in the number of mailboxes, since the quota root may include mailboxes the client has no access to.

Support for this resource MUST be indicated by the server by advertising the “QUOTA=RES-MAILBOX” capability.

§

AnnotationStorage

The maximum size of all annotations [RFC5257], in units of 1024 octets, associated with all messages in the mailboxes governed by the quota root.

Support for this resource MUST be indicated by the server by advertising the “QUOTA=RES-ANNOTATION-STORAGE” capability.

§

Other(ResourceOther<'a>)

An (unknown) resource.

Trait Implementations§

source§

impl<'a> Arbitrary<'a> for Resource<'a>

source§

fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>

Generate an arbitrary value of Self from the given unstructured data. Read more
source§

fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>

Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
source§

fn size_hint(depth: usize) -> (usize, Option<usize>)

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
source§

impl<'a> Clone for Resource<'a>

source§

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

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<'a> Debug for Resource<'a>

source§

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

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

impl<'de, 'a> Deserialize<'de> for Resource<'a>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'a> Display for Resource<'a>

source§

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

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

impl<'a> From<Atom<'a>> for Resource<'a>

source§

fn from(atom: Atom<'a>) -> Self

Converts to this type from the input type.
source§

impl<'a> Hash for Resource<'a>

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<'a> IntoBoundedStatic for Resource<'a>

§

type Static = Resource<'static>

The target type is bounded by the 'static lifetime.
source§

fn into_static(self) -> Self::Static

Convert an owned T into an owned T such that T: 'static.
source§

impl<'a> PartialEq<Resource<'a>> for Resource<'a>

source§

fn eq(&self, other: &Resource<'a>) -> 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<'a> Serialize for Resource<'a>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'a> ToBoundedStatic for Resource<'a>

§

type Static = Resource<'static>

The target type is bounded by the 'static lifetime.
source§

fn to_static(&self) -> Self::Static

Convert an &T to an owned T such that T: 'static.
source§

impl<'a> TryFrom<&'a [u8]> for Resource<'a>

§

type Error = <Atom<'a> as TryFrom<&'a [u8]>>::Error

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

fn try_from(value: &'a [u8]) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<'a> TryFrom<&'a str> for Resource<'a>

§

type Error = <Atom<'a> as TryFrom<&'a str>>::Error

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

fn try_from(value: &'a str) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<'a> TryFrom<Cow<'a, str>> for Resource<'a>

§

type Error = <Atom<'a> as TryFrom<Cow<'a, str>>>::Error

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

fn try_from(value: Cow<'a, str>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<'a> TryFrom<String> for Resource<'a>

§

type Error = <Atom<'a> as TryFrom<String>>::Error

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

fn try_from(value: String) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<'a> TryFrom<Vec<u8, Global>> for Resource<'a>

§

type Error = <Atom<'a> as TryFrom<Vec<u8, Global>>>::Error

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

fn try_from(value: Vec<u8>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<'a> Eq for Resource<'a>

source§

impl<'a> StructuralEq for Resource<'a>

source§

impl<'a> StructuralPartialEq for Resource<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Resource<'a>

§

impl<'a> Send for Resource<'a>

§

impl<'a> Sync for Resource<'a>

§

impl<'a> Unpin for Resource<'a>

§

impl<'a> UnwindSafe for Resource<'a>

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

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,