diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-01-01 09:34:13 +0100 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-01-01 09:34:13 +0100 |
commit | d2c3b641fea6106d0fa2a7940abbc026e003f707 (patch) | |
tree | 5c79d70cb8d6bf8c0be59edd2094855e2cd86315 /src/imap/mod.rs | |
parent | 6e20778f74a89d4b7a9b2c9cfca5bb2907bb0d22 (diff) | |
download | aerogramme-d2c3b641fea6106d0fa2a7940abbc026e003f707.tar.gz aerogramme-d2c3b641fea6106d0fa2a7940abbc026e003f707.zip |
WIP rewrite
Diffstat (limited to 'src/imap/mod.rs')
-rw-r--r-- | src/imap/mod.rs | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/imap/mod.rs b/src/imap/mod.rs index f85bcc6..73cd943 100644 --- a/src/imap/mod.rs +++ b/src/imap/mod.rs @@ -6,45 +6,45 @@ mod session; use std::task::{Context, Poll}; use anyhow::Result; -use boitalettres::errors::Error as BalError; -use boitalettres::proto::{Request, Response}; -use boitalettres::server::accept::addr::AddrIncoming; -use boitalettres::server::accept::addr::AddrStream; -use boitalettres::server::Server as ImapServer; +//use boitalettres::errors::Error as BalError; +//use boitalettres::proto::{Request, Response}; +//use boitalettres::server::accept::addr::AddrIncoming; +//use boitalettres::server::accept::addr::AddrStream; +//use boitalettres::server::Server as ImapServer; use futures::future::BoxFuture; use futures::future::FutureExt; use tokio::sync::watch; -use tower::Service; use crate::config::ImapConfig; use crate::login::ArcLoginProvider; /// Server is a thin wrapper to register our Services in BàL -pub struct Server(ImapServer<AddrIncoming, Instance>); +pub struct Server{} pub async fn new(config: ImapConfig, login: ArcLoginProvider) -> Result<Server> { - //@FIXME add a configuration parameter - let incoming = AddrIncoming::new(config.bind_addr).await?; + unimplemented!(); + /* let incoming = AddrIncoming::new(config.bind_addr).await?; tracing::info!("IMAP activated, will listen on {:#}", incoming.local_addr); let imap = ImapServer::new(incoming).serve(Instance::new(login.clone())); - Ok(Server(imap)) + Ok(Server(imap))*/ } impl Server { pub async fn run(self, mut must_exit: watch::Receiver<bool>) -> Result<()> { tracing::info!("IMAP started!"); - tokio::select! { + unimplemented!(); + /*tokio::select! { s = self.0 => s?, _ = must_exit.changed() => tracing::info!("Stopped IMAP server"), } - Ok(()) + Ok(())*/ } } //--- - +/* /// Instance is the main Tokio Tower service that we register in BàL. /// It receives new connection demands and spawn a dedicated service. struct Instance { @@ -103,3 +103,4 @@ impl Service<Request> for Connection { self.session.process(req) } } +*/ |