1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Async, type-state IMAP client for the
//! [`imap-rs`](https://crates.io/crates/imap-rs) library.
//!
//! This crate owns the session state machine and the command dispatcher. It is
//! transport-agnostic: drive it with any `AsyncRead + AsyncWrite` stream (see
//! [`imap-rs-tls`](https://crates.io/crates/imap-rs-tls) for a ready-made
//! `rustls` transport).
//!
//! # Highlights
//!
//! - [`Session`] is type-stated over protocol phase ([`Unauthenticated`],
//! [`Authenticated`], [`Selected`]) and transport ([`PlainText`], [`Tls`]),
//! so invalid command sequences fail to compile.
//! - [`RawClient`] is the lower-level pipelining dispatcher: it routes tagged
//! responses back to callers and broadcasts untagged events.
//! - Credentials ([`credentials::Password`], [`credentials::OAuthToken`]) are
//! zeroized on drop and redacted in `Debug`.
pub use Capabilities;
pub use RawClient;
pub use ClientError;
pub use ;
pub use ;
pub use ;