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