Re: IMAP REPLACE extension
Stu Brandt <[email protected]>
| Newsgroups | gmane.ietf.imapext |
|---|---|
| Message-ID | <[email protected]> |
Chris - Thanks for your feedback. The atomic requirement is intended to provide a guarantee to clients that use of REPLACE should simplify possible message states as compared to the existing 3 command sequence. I was really hoping to avoid a case where failure of REPLACE would require a client to retry by using 2 of the 3 underlying commands. I certainly understand how it may be burdensome to some server implementations, though, so I'm hoping to hear from a few more server implementers before making a decision on whether to relax the atomicity requirement. Thanks again... - Stuart On 5/11/15 10:03 PM, Chris Newman wrote: > I believe the atomic requirement is too stringent and will reduce deployment of > this proposal. A looser requirement can make implementation quite a bit simpler > for some server designs. I'd state the requirement as follows: > > The REPLACE command is a combination of APPEND, STORE +flags \DELETED and UID > EXPUNGE for a message. A response code for the STORE \DELETED flag MUST NOT be > generated. The replaced and replacing messages SHOULD NOT be present in the > mailbox at the same time. > > The difference with this phrasing relative to the stricter "atomic" phrasing is > this does not require the server to eliminate the window where both draft > messages are present in the mailbox. For certain server designs, eliminating > that window can be either difficult to implement or significantly more > expensive. > > The unnecessary "atomic" requirement deters deployment of multiappend extension > as well. Slightly looser language is better for deployment. The MOVE command is > a good example of language with appropriately loose requirements. > > - Chris [snip] _______________________________________________ imapext mailing list [email protected] https://www.ietf.org/mailman/listinfo/imapext