aboutsummaryrefslogtreecommitdiff
path: root/src/imap/mod.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2024-01-01 09:34:13 +0100
committerQuentin Dufour <quentin@deuxfleurs.fr>2024-01-01 09:34:13 +0100
commitd2c3b641fea6106d0fa2a7940abbc026e003f707 (patch)
tree5c79d70cb8d6bf8c0be59edd2094855e2cd86315 /src/imap/mod.rs
parent6e20778f74a89d4b7a9b2c9cfca5bb2907bb0d22 (diff)
downloadaerogramme-d2c3b641fea6106d0fa2a7940abbc026e003f707.tar.gz
aerogramme-d2c3b641fea6106d0fa2a7940abbc026e003f707.zip
WIP rewrite
Diffstat (limited to 'src/imap/mod.rs')
-rw-r--r--src/imap/mod.rs27
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)
}
}
+*/