You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I works well, apart from getting booted periodically.
I believe the issue may be, that the time is not counted from the start of the IDLE loop, but for every read, since the timeout is implemented by calling TcpStream::set_read_timeout()once before the loop. So when a response arrives on the client, the timeout is effectively reset.
The text was updated successfully, but these errors were encountered:
z33ky
added a commit
to z33ky/rust-imap
that referenced
this issue
Jan 28, 2025
The code used to apply the set timeout value to the TcpStream before
entering the IDLE loop. This effectively resets the timeout after
receiving and handling incoming messages, which nullifies the purpose of
the timeout when messages are received.
This change remembers when the IDLE command is sent initially and uses
that value to set the remaining time for the TcpStream timeout. This
allows the IDLE loop to reconnect the IDLE connection at the appropriate
time.
Fixesjonhoo#300.
I'm connecting to an IMAP server that boots IDLE connections after 30 minutes. I'm using imap-3.0.0-alpha.14, pretty much straight forward
I works well, apart from getting booted periodically.
I believe the issue may be, that the time is not counted from the start of the IDLE loop, but for every read, since the timeout is implemented by calling
TcpStream::set_read_timeout()
once before the loop. So when a response arrives on the client, the timeout is effectively reset.The text was updated successfully, but these errors were encountered: