diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2020-09-14 19:32:43 +0300 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2020-09-14 19:32:43 +0300 |
commit | 17a4ccdcbc37977cf7c4c17b8180a922936ee2f5 (patch) | |
tree | 2d0549fb266783b652665937475e0f7faaf15756 /melib/src/backends/imap.rs | |
parent | 670675edcc48480a8e250d9b2b06b69c837df51c (diff) |
melib/imap: perform reconnect on IDLE failure
Diffstat (limited to 'melib/src/backends/imap.rs')
-rw-r--r-- | melib/src/backends/imap.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/melib/src/backends/imap.rs b/melib/src/backends/imap.rs index f346d164..b69569aa 100644 --- a/melib/src/backends/imap.rs +++ b/melib/src/backends/imap.rs @@ -479,6 +479,17 @@ impl MailBackend for ImapType { main_conn.uid_store.is_online.lock().unwrap().1 = Err(err.clone()); } debug!("failure: {}", err.to_string()); + match timeout(timeout_dur, main_conn.connect()) + .await + .and_then(|res| res) + { + Err(err2) => { + debug!("reconnect attempt failed: {}", err2.to_string()); + } + Ok(()) => { + debug!("reconnect attempt succesful"); + } + } let account_hash = main_conn.uid_store.account_hash; main_conn.add_refresh_event(RefreshEvent { account_hash, |