make setup_handle_if_needed async, call it ahead of select_folder and fetch_new_messages (renamed from fetch_from_single_folder), and be more eager triggering reconnect on error conditions

This commit is contained in:
holger krekel
2019-12-05 20:57:58 +01:00
parent 4a9fb0212f
commit 174bc017ad
2 changed files with 107 additions and 105 deletions

View File

@@ -34,6 +34,7 @@ impl Imap {
let mut cfg = self.config.write().await;
cfg.selected_folder = None;
cfg.selected_folder_needs_expunge = false;
self.trigger_reconnect();
return Err(Error::NoSession);
}
@@ -61,6 +62,7 @@ impl Imap {
info!(context, "close/expunge succeeded");
}
Err(err) => {
self.trigger_reconnect();
return Err(Error::CloseExpungeFailed(err));
}
}