diff --git a/examples/repl/cmdline.rs b/examples/repl/cmdline.rs index 4656b1dd3..ca9d8de57 100644 --- a/examples/repl/cmdline.rs +++ b/examples/repl/cmdline.rs @@ -496,7 +496,7 @@ pub unsafe fn dc_cmdline(context: &Context, line: &str) -> Result<(), failure::E println!("{:#?}", context.get_info()); } "interrupt" => { - interrupt_imap_idle(context); + interrupt_inbox_idle(context, true); } "maybenetwork" => { maybe_network(context); diff --git a/examples/repl/main.rs b/examples/repl/main.rs index eba162f92..c1e855cfb 100644 --- a/examples/repl/main.rs +++ b/examples/repl/main.rs @@ -150,11 +150,11 @@ fn start_threads(c: Arc>) { let ctx = c.clone(); let handle_imap = std::thread::spawn(move || loop { while_running!({ - perform_imap_jobs(&ctx.read().unwrap()); - perform_imap_fetch(&ctx.read().unwrap()); + perform_inbox_jobs(&ctx.read().unwrap()); + perform_inbox_fetch(&ctx.read().unwrap()); while_running!({ let context = ctx.read().unwrap(); - perform_imap_idle(&context); + perform_inbox_idle(&context); }); }); }); @@ -202,7 +202,7 @@ fn stop_threads(context: &Context) { println!("Stopping threads"); IS_RUNNING.store(false, Ordering::Relaxed); - interrupt_imap_idle(context); + interrupt_inbox_idle(context, true); interrupt_mvbox_idle(context); interrupt_sentbox_idle(context); interrupt_smtp_idle(context); @@ -455,9 +455,9 @@ unsafe fn handle_cmd(line: &str, ctx: Arc>) -> Result { if HANDLE.clone().lock().unwrap().is_some() { - println!("imap-jobs are already running in a thread."); + println!("inbox-jobs are already running in a thread."); } else { - perform_imap_jobs(&ctx.read().unwrap()); + perform_inbox_jobs(&ctx.read().unwrap()); } } "configure" => { diff --git a/src/imap.rs b/src/imap.rs index 4dd4ba71b..4669abed9 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -1,3 +1,8 @@ +//! # Imap handling module +//! +//! uses [async-email/async-imap](https://github.com/async-email/async-imap) +//! to implement connect, fetch, delete functionality with standard IMAP servers. + use std::sync::atomic::{AtomicBool, Ordering}; use std::time::{Duration, SystemTime}; @@ -280,7 +285,7 @@ impl Imap { cfg.has_xlist = false; } - /// Connects to configured account + /// Connects to imap account using already-configured parameters. pub fn connect_configured(&self, context: &Context) -> Result<()> { if async_std::task::block_on(async move { self.is_connected().await && !self.should_reconnect() @@ -310,6 +315,8 @@ impl Imap { )); } + /// tries connecting to imap account using the specific login + /// parameters pub fn connect(&self, context: &Context, lp: &LoginParam) -> bool { task::block_on(async move { if lp.mail_server.is_empty() || lp.mail_user.is_empty() || lp.mail_pw.is_empty() {