From 40c680fa1f51c64a64c997f94e41e92625a3c1c4 Mon Sep 17 00:00:00 2001 From: KokaKiwi Date: Tue, 10 May 2022 17:42:56 +0200 Subject: [PATCH] doc: Add doc draft with simple example --- doc/draft.md | 22 ++++++++++++++++++++++ examples/simple.rs | 2 +- src/server/mod.rs | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 doc/draft.md diff --git a/doc/draft.md b/doc/draft.md new file mode 100644 index 0000000..2a5993c --- /dev/null +++ b/doc/draft.md @@ -0,0 +1,22 @@ +# Just Enough Doc + +## Rum `simple` example + +This example is meant to show basic service-based IMAP server with boitalettres library. + +- [Source code](../examples/simple.rs) + +```shell +$ cargo run --example simple +``` + +- [Basic python testing script](../scripts/test_imap.py) + +```shell +$ python scripts/test_imap.py +``` + +## References + +- [`imap-codec`](https://docs.rs/imap-codec): IMAP protocol model+encoder/decoder +- [`tower`](https://docs.rs/tower): Service-based request handling library diff --git a/examples/simple.rs b/examples/simple.rs index d627a97..2b2f500 100644 --- a/examples/simple.rs +++ b/examples/simple.rs @@ -26,7 +26,7 @@ async fn main() -> eyre::Result<()> { }); let server = Server::new(incoming).serve(make_service); - let _ = server.await; + let _ = server.await?; Ok(()) } diff --git a/src/server/mod.rs b/src/server/mod.rs index f8ab86a..1c5748b 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -15,7 +15,9 @@ mod service; #[derive(Debug, thiserror::Error)] pub enum Error { + #[error("Error occured when accepting new connections")] Accept(#[source] A), + #[error("Error occured on service creation")] MakeService(#[source] Box), }