Add method to check connection capabilities

Before, the check was being done on the capabilities set directly.
imap-connection-changes
Andrei Zisu 3 years ago committed by Manos Pitsidianakis
parent 775a2b043a
commit 7c20f7c82a
No known key found for this signature in database
GPG Key ID: 7729C7707F7E09D0

@ -469,12 +469,9 @@ impl MailBackend for ImapType {
ImapProtocol::IMAP {
extension_use: ImapExtensionUse { idle, .. },
} => {
idle && uid_store
.capabilities
.lock()
.unwrap()
.iter()
.any(|cap| cap.eq_ignore_ascii_case(b"IDLE"))
let main_conn_lck = timeout(uid_store.timeout, main_conn.lock()).await?;
idle && main_conn_lck.has_capability("IDLE".to_string())
}
_ => false,
};

@ -840,6 +840,14 @@ impl ImapConnection {
}
}
pub fn has_capability(&self, capability: String) -> bool {
self.capabilities
.lock()
.unwrap()
.iter()
.any(|cap| cap.eq_ignore_ascii_case(&capability.as_bytes()))
}
pub async fn select_mailbox(
&mut self,
mailbox_hash: MailboxHash,

Loading…
Cancel
Save