Reduced check open frequency

pull/209/head
M66B 2 years ago
parent cc4493a802
commit 7bb187fbd4

@ -215,10 +215,21 @@ class Core {
if (!Objects.equals(folder.id, op.folder))
throw new IllegalArgumentException("Invalid folder=" + folder.id + "/" + op.folder);
if (account.protocol == EntityAccount.TYPE_IMAP &&
!folder.local &&
ifolder != null && !ifolder.isOpen())
throw new FolderClosedException(ifolder, account.name + "/" + folder.name + " unexpectedly closed");
if (account.protocol == EntityAccount.TYPE_IMAP && !folder.local && ifolder != null) {
try {
((IMAPFolder) ifolder).doCommand(new IMAPFolder.ProtocolCommand() {
@Override
public Object doCommand(IMAPProtocol protocol) throws ProtocolException {
long ago = System.currentTimeMillis() - protocol.getTimestamp();
if (ago > 20000)
protocol.noop();
return null;
}
});
} catch (MessagingException ex) {
throw new FolderClosedException(ifolder, account.name + "/" + folder.name + " unexpectedly closed", ex);
}
}
if (account.protocol == EntityAccount.TYPE_POP &&
EntityFolder.INBOX.equals(folder.type) &&

Loading…
Cancel
Save