[−][src]Enum imap::types::UnsolicitedResponse
Responses that the server sends that are not related to the current command. RFC 3501 states that clients need to be able to accept any response at any time. These are the ones we've encountered in the wild.
Note that Recent
, Exists
and Expunge
responses refer to the currently SELECT
ed folder,
so the user must take care when interpreting these.
Variants
An unsolicited STATUS response
.
Fields of Status
mailbox: String
The mailbox that this status response is for.
attributes: Vec<StatusAttribute>
The attributes of this mailbox.
Recent(u32)
An unsolicited RECENT
response
indicating the number of messages with the \Recent
flag set. This response occurs if the
size of the mailbox changes (e.g., new messages arrive).
Note: It is not guaranteed that the message sequence numbers of recent messages will be a contiguous range of the highest n messages in the mailbox (where n is the value reported by the
RECENT
response). Examples of situations in which this is not the case are: multiple clients having the same mailbox open (the first session to be notified will see it as recent, others will probably see it as non-recent), and when the mailbox is re-ordered by a non-IMAP agent.The only reliable way to identify recent messages is to look at message flags to see which have the
\Recent
flag set, or to do aSEARCH RECENT
.
Exists(u32)
An unsolicited EXISTS
response that
reports the number of messages in the mailbox. This response occurs if the size of the
mailbox changes (e.g., new messages arrive).
Expunge(Seq)
An unsolicited EXPUNGE
response that
reports that the specified message sequence number has been permanently removed from the
mailbox. The message sequence number for each successive message in the mailbox is
immediately decremented by 1, and this decrement is reflected in message sequence numbers
in subsequent responses (including other untagged EXPUNGE
responses).
The EXPUNGE response also decrements the number of messages in the mailbox; it is not
necessary to send an EXISTS
response with the new value.
As a result of the immediate decrement rule, message sequence numbers that appear in a set
of successive EXPUNGE
responses depend upon whether the messages are removed starting
from lower numbers to higher numbers, or from higher numbers to lower numbers. For
example, if the last 5 messages in a 9-message mailbox are expunged, a "lower to higher"
server will send five untagged EXPUNGE
responses for message sequence number 5, whereas a
"higher to lower server" will send successive untagged EXPUNGE
responses for message
sequence numbers 9, 8, 7, 6, and 5.
Trait Implementations
impl Debug for UnsolicitedResponse
[src]
impl Eq for UnsolicitedResponse
[src]
impl PartialEq<UnsolicitedResponse> for UnsolicitedResponse
[src]
pub fn eq(&self, other: &UnsolicitedResponse) -> bool
[src]
pub fn ne(&self, other: &UnsolicitedResponse) -> bool
[src]
impl StructuralEq for UnsolicitedResponse
[src]
impl StructuralPartialEq for UnsolicitedResponse
[src]
Auto Trait Implementations
impl RefUnwindSafe for UnsolicitedResponse
[src]
impl Send for UnsolicitedResponse
[src]
impl Sync for UnsolicitedResponse
[src]
impl Unpin for UnsolicitedResponse
[src]
impl UnwindSafe for UnsolicitedResponse
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,