Robert Burrell Donkin wrote: > Noel J. Bergman wrote: > > Robert Burrell Donkin wrote: > > > > > the current table structure [in trunk] is inefficient. > > > > > opinions? > > As I said, toss and reboot.
> today, this implies tossing and rebooting IMAP. Why? > the mailbox API is full of cruft but most of it will be gone in due course. As I've said, the mailbox API didn't exist until trunk, has no value outside of trunk development, and so you should feel free to do whatever you want to it. Including a wholesale rewrite. > > We need to change the data storage scheme. As a strawman, we should > > separate spool, mailbox and message store. > > > > The message store is simple: the message. Once a message is in here, it > > need not be moved, it is just referenced. > +1 > IMAP (and other reading-centric protocol) requires MIME decomposition. > each part of a MIME message needs to be available via a separate > reference. efficient access to the meta-data for each part is > necessary. this is very different from POP3 which AIUI requires access > to the raw message. Do you want to discuss an efficient store for decomposed MIME messages, and a MIME stream interface that would provide easy and efficient access to them on demand? We could have both JavaMail and stream interfaces built on top of the store. > i agree with principle. one of the major issues with the current > mailbox API is the wasteful pushing of bits needlessly around. I'd refer to it as the experimental mailbox API, since there is nothing "current" about it. In any event, moving data is an issue in the current stable code, too, unless one uses dbfile. > > The mailbox should serve the needs of both POP3 and IMAP. It contains no > > actual message content, delegating to the message store. > there's no real need to push the bytes in a mail around. Agreed. > protocols just add layers of meta-data on top of the aboriginal content. a > mailbox can easily be implemented just by a meta-data layer. Mailboxes have their own attributes, and are not just collections of messages. > > Spool contains the spool records. Conceptually, the mail object, which > > means SMTP envelope, spool state, message meta-data, etc. > isn't this just message meta-data? Not necessarily, no, unless you're being loser with the terminology than I would be. > is a conceptual division needed between this meta-data and the > meta-data used by POP3 or IMAP to record information about mailboxes? There may be a physical division, much less a conceptual one. > transactions are a popular requirement :-) :-) --- Noel --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]