pub enum Flag<'a> {
Answered,
Deleted,
Draft,
Flagged,
Seen,
Extension(FlagExtension<'a>),
Keyword(Atom<'a>),
}
Expand description
There are two types of flags in IMAP4rev1: System and keyword flags.
A system flag is a flag name that is pre-defined in RFC3501.
All system flags begin with “\” and certain system flags (\Deleted
and \Seen
) have special semantics.
Flags that begin with “\” but are not pre-defined system flags, are extension flags.
Clients MUST accept them and servers MUST NOT send them except when defined by future standard or standards-track revisions.
A keyword is defined by the server implementation.
Keywords do not begin with “\” and servers may permit the client to define new ones
in the mailbox by sending the \*
flag (FlagPerm::Asterisk
) in the PERMANENTFLAGS response..
Note that a flag of either type can be permanent or session-only.
Variants§
Answered
Message has been answered (\Answered
).
Deleted
Message is “deleted” for removal by later EXPUNGE (\Deleted
).
Draft
Message has not completed composition (marked as a draft) (\Draft
).
Flagged
Message is “flagged” for urgent/special attention (\Flagged
).
Seen
Message has been read (\Seen
).
Extension(FlagExtension<'a>)
A future expansion of a system flag.
Keyword(Atom<'a>)
A keyword.
Implementations§
Trait Implementations§
Source§impl<'a> Arbitrary<'a> for Flag<'a>
impl<'a> Arbitrary<'a> for Flag<'a>
Source§fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
Self
from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Self
from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured
this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured
this type
needs to construct itself. Read more