[prev in list] [next in list] [prev in thread] [next in thread] 

List:       imap
Subject:    Re: Comments on FLAGS.SILENT
From:       Bill Yeager <yeager () roam ! Eng ! Sun ! COM>
Date:       1995-07-28 0:18:50
[Download RAW message or body]

>  I believe adding Yet Another Extension would be a poor way to solve
>  the problem.

John,

Let me explain the motivation for Mark's extension definition which I think is
still a good idea under specific circumstances.

Under IMAP2bis I wanted a way to change one flag for a *set* of messages and
get back the state of that flag for this *set*, and to do it in a compact way
to improve the response time for cleaning up a large mailbox using a medium
like PPP. The flag of particular interest is the \deleted flag. IN the old
style of 

tag STORE <set> +FLAGS \Deleted 

one receives an untagged response for each message in the set. Now, I made a
command,

tag STORE <set> +1FLAG \deleted 

whose untagged response is something like

* <set> +1FLAG \Deleted
tag OK STORE completed

OK. So, we have major bandwidth savings for large sets. The .SILENT is fine
with the understanding that

>  A requirement that a server never send FETCH notifications during a
>  STORE .SILENT doesn't make sense technically.  A server can always
>  send FETCH FLAGS responses unilaterally.

And, the ability to return unilaterally

* <set> FETCH FLAGS (\Deleted)

or in the UID STORE.SILENT case

* <set> FETCH (UID <set> FLAGS (\Deleted))

for those messages for which the \Deleted flag was changed by a different
process.

THis is important because the user may want to do an EXPUNGE after reviewing
the DELETED messages, and so this list must be complete. 

Anyway, this is what I implemented in the imap4d that Mark is releasing if the
capability to enable this extension is sent by the client.

Many, many users of Roam were very pleased to be able to clean up large
mailboxes very quickly, and this <set> bulk flag response was the main cause. 

Bill

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic