ML driver needs to hold some data on mail. Some data exixsts persistently but some data with expiration (data is discarded after some interval).
An example of permisistent data is thread database. The latter case, an exapmle of non persistent data, is message-id cache. The thread database also has message-id cache in it, which is a sub-set of all message-id set of incoming messages. We handle these two data separately.
We should handle these data in integrated way.
module A ---| A |--- persistent database module B ---| da | module C ---| pt | modlue D ---| er |--- cache with expirationAn example of this persistent DB, thread DB, is Mail::Message::DB class. Examples of cache database are Tie::JournaledDir and FML::Cache::Ring classes.
It is better to use RDBMS for important persistent data such as address list. This chapter describes persistent data handling only for fml8 internal use.
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >