imap-codec
This library provides parsing and serialization for IMAP4rev1 implementations. It is based on imap-types and a rock-solid and well-documented building block for IMAP client and server implementations in Rust. The complete formal syntax of IMAP4rev1 and several IMAP extensions are implemented.
Features
- Parsing works in streaming mode.
Incomplete
is returned when there is insufficient data to make a final decision. No message will be truncated. - Parsing is zero-copy by default. Allocation is avoided during parsing, but all messages can explicitly be converted into more flexible owned variants.
- Fuzzing and property-based tests exercise the library. The library is fuzz-tested never to produce a message it can't parse itself.
Usage
use ;
License
This crate is dual-licensed under Apache 2.0 and MIT terms.