
The main difference between other mail-folder handlers and
Mail::Box is the detail of abstraction, which could simplify
future extention.
Performance gains are achieved by delay-loading, except when your
application requires all messages anyhow. Then you only benefit
from the C-parser (to be implemented).
Furthermore, Mail::Box prefers messages --which have to be
written to a new folder, for instance when a folder-update takes place--
to be copied byte-by-byte from the source folder. This avoids accidental
changes, and is quite much faster. Only when a message has been modified,
it must be re-composed from memory structures.
There is a manager object (Mail::Box::Manager), which is
the first module to look at when you start using the module. One manager
maintains all the open folders in your program. It also tries to auto-detect
the type of folder when you specify a name only. Next to that, the manager
maintains discussion-threads via the creation of one or more
Mail::Box::Threads objects.
|