Mail::SpamAssassin::BayesStore - Bayesian Storage Module
This is the public API for the Bayesian store methods. Any implementation of the storage module must implement these methods.
Description: This method creates a new instance of the Mail::SpamAssassin::BayesStore object. You must pass in an instance of the Mail::SpamAssassin:Bayes object, which is stashed for use throughout the module.
Description: This method returns the currently supported database version for the implementation.
Description: This method reads any needed config variables from the configuration object and then calls the Mail::SpamAssassin::Bayes read_db_configs method.
Description: This method opens up the database in readonly mode.
Description: This method opens up the database in writable mode.
Any callers of this methods should ensure that they call untie_db()
afterwards.
Description: This method unties the database.
Description: This method performs a calculation on the data to determine the optimum atime for token expiration.
Description:
This method performs the database specific expiration of tokens based on
the passed in $newest_atime
and $newdelta
.
Description: This method expires old tokens from the database.
Description: This methods does the actual token expiration.
XXX More docs here about the methodology and what not
Description: This methods determines if a sync is due.
Description: This methods determines if an expire is due.
Description:
This method retrieves the stored value, if any, for $msgid
. The return
value is the stored string ('s' for spam and 'h' for ham) or undef if
$msgid
is not found.
Description:
This method records $msgid
as the type given by $flag
. $flag
is
one of two values 's' for spam and 'h' for ham.
Description:
This method removes $msgid
from storage.
Description: This method retrieves the various administrative variables used by the Bayes storage implementation.
The values returned in the array are in the following order:
0: scan count base
1: number of spam
2: number of ham
3: number of tokens in db
4: last expire atime
5: oldest token in db atime
6: db version value
7: last journal sync
8: last atime delta
9: last expire reduction count
10: newest token in db atime
Description: This method loops over all tokens, computing the probability for the token and then printing it out according to the passed in template.
Description: This method sets the last expire time.
Description: This method determines if an expire is currently running and returns the time the expire started.
Description: This method sets the running expire time to the current time.
Description: This method removes a currently set running expire time.
Description:
This method retrieves the specified token ($token
) from storage and returns
it's spam count, ham acount and last access time.
Description:
This method retrieves the specified tokens (@tokens
) from storage and returns
an array ref of arrays spam count, ham acount and last access time.
Description:
This method takes a $spam_count
and $ham_count
and adds it to
$token
along with updating $token
s atime with $atime
.
public instance (Boolean) multi_tok_count_change (Integer $spam_count, | ||
Integer $ham_count, | ||
\% $tokens, | ||
String $atime) |
Description:
This method takes a $spam_count
and $ham_count
and adds it to all
of the tokens in the $tokens
hash ref along with updating each tokens
atime with $atime
.
Description: This method retrieves the total number of spam and the total number of spam currently under storage.
Description: This method updates the number of spam and the number of ham in the database.
Description:
This method updates the given tokens ($token
) access time.
Description:
This method does a mass update of the given list of tokens $tokens
, if the existing token
atime is < $atime
.
Description: This method performs any cleanup necessary before moving onto the next operation.
Description: This method returns a regexp which indicates a magic token.
Description: This method performs a sync of the database.
Description: This method is a utility method that performs any necessary upgrades between versions. It should know how to handle previous versions and what needs to happen to upgrade them.
A true return value indicates success.
Description: This method deletes all records for a particular user.
Callers should be aware that any errors returned by this method could causes the database to be inconsistent for the given user.
Description: This method will dump the users database in a marchine readable format.
Description:
This method restores a database from the given filename, $filename
.
Callers should be aware that any errors returned by this method could causes the database to be inconsistent for the given user.
Description: This method returns whether or not the Bayes DB is available in a readable state.
Description: This method returns whether or not the Bayes DB is available in a writable state.