From d2c3b641fea6106d0fa2a7940abbc026e003f707 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Mon, 1 Jan 2024 09:34:13 +0100 Subject: WIP rewrite --- src/imap/mod.rs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'src/imap/mod.rs') 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); +pub struct Server{} pub async fn new(config: ImapConfig, login: ArcLoginProvider) -> Result { - //@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) -> 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 for Connection { self.session.process(req) } } +*/ -- cgit v1.2.3