> Is there really a good reason to have protocol specific code 
> in the MessageStore/Repository layer?

Sure, PERFORMANCE is the good reason.
The simpler interface is a key=>stream association but we will not able to
provide good performance. When looking up only for message size or for the
subject.

> A generic message interface would abstract the protocol 
> specific code entirely, leaving it to the protocol handlers.

We don't have to support 3000 protocols: mail is read in POP3 and in IMAP.
IMHO we should try to provide efficient ways to use that 2 protocols.

> > Do the client runs query over this attributes? 
> 
> I believe so.  Through the "SEARCH" command...
> http://ietfreport.isoc.org/idref/rfc3501/#page-49

I would like also to know what are the SEARCHes really implemented and used
by commonly used mailers. The 'A282 SEARCH FLAGGED SINCE 1-Feb-1994 NOT FROM
"Smith"' seems to me very powerful but I guess how much IMAP clients let me
perform this kind of search on the server.
Based on real usage I would create a repository containing the needed
columns.

> > Are this attributes sent to the client without the body? 
> > 
> Yes. See FETCH
> http://ietfreport.isoc.org/idref/rfc3501/#page-54
> 
> The message header only, body only, flags only, etc.
> can be fetched.

I also see 'A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])': what
are the standard/most used field set in this queries?

IMHO we need to consider real cases to be able to do something performant.
Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to