diff options
Diffstat (limited to 'src/imap/response.rs')
-rw-r--r-- | src/imap/response.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/imap/response.rs b/src/imap/response.rs index d20e58e..40e6927 100644 --- a/src/imap/response.rs +++ b/src/imap/response.rs @@ -2,7 +2,10 @@ use anyhow::Result; use imap_codec::imap_types::command::Command; use imap_codec::imap_types::core::Tag; use imap_codec::imap_types::response::{Code, Data, Status}; +use std::sync::Arc; +use tokio::sync::Notify; +#[derive(Debug)] pub enum Body<'a> { Data(Data<'a>), Status(Status<'a>), @@ -88,6 +91,7 @@ impl<'a> ResponseBuilder<'a> { } } +#[derive(Debug)] pub struct Response<'a> { pub body: Vec<Body<'a>>, pub completion: Status<'a>, @@ -110,3 +114,10 @@ impl<'a> Response<'a> { }) } } + +#[derive(Debug)] +pub enum ResponseOrIdle { + Response(Response<'static>), + StartIdle(Arc<Notify>), + IdleEvent(Vec<Body<'static>>), +} |