use std::borrow::Cow; #[derive(Clone)] pub struct Tag(pub String); pub enum Response<'a> { Done(ResponseDone<'a>), } pub struct ResponseDone<'a> { pub tag: Tag, pub status: Status, pub code: Option>, pub info: Option>, } pub enum Status { Ok, No, Bad, PreAuth, Bye, } pub enum ResponseCode<'a> { Alert, Capabilities(Vec>), } pub enum Capability<'a> { Imap4rev1, Auth(Cow<'a, [u8]>), Atom(Cow<'a, [u8]>), }