> 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]