It is also vague regarding exactly what untagged responses are sent on an IDLE connection.



No it's not. In the IMAP protocol, you MUST be ready to accept ANY
untagged response whenever you send ANY command (except for the one
documented restriction on EXPUNGE responses). IDLE is no different.
Specifically, when you use the IDLE command, you are saying, "I have
no other command to do, and I am listening for unsolicited responses."
It's sort of like issuing "NOOP" commands over and over, except that
it's a lot less client/server overhead.


What is the difference between a client issuing the commands needed to move
to the Selected state and then waiting with an open recv() vs IDLE. Is it an informal
way of communicating to the server that the client has a pending recv()? Given
rfc3501 Sec 5.3 it would seem the server would behave properly in either case.


Mike




Reply via email to