On Thu May 19 17:43:54 2016, gdg@zplane.com wrote:
Show quoted text> Hi Phil,
>
> First, a tip o' the hat for this module, very nice. It was just what I
> needed, and nicely documented.
It's always nice to get positive feedback. Thanks!
Show quoted text> Question: Is it guaranteed that upon return from done(), the server is
> immediately ready to accept non-IDLE mode commands?
Well, guarantee is a strong word. Here's the code:
sub done {
my $self = shift;
my $count = shift || $self->Count;
# DONE looks like a tag when sent and not already in IDLE
$self->_imap_command(
{ addtag => 0, tag => qr/(?:$count|DONE)/, doretry => 0 }, "DONE" )
or return undef;
return $self->Results;
}
We shouldn't die or exit on just about anything.
We return undef if we hit anything appears to be an error condition.
With no error, the expectation is that the server responded in a "normal" fashion, leading to the expectation that it is ready for any of the usual IMAP commands to follow.
If not, I'd hope it's a server bug and not a client issue (no guarantees :-).
(Marking as 'Rejected' as this isn't a bug report per se)