The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Cache::AgainstFile::Base - base class for default backends

SYNOPSIS

 package Cache::AgainstFile::MyBackend;

 use Cache::AgainstFile::Base;
 @ISA = qw(Cache::AgainstFile::Base);
 
 ...implement methods...

 1;

DESCRIPTION

This provides a default implementation for purging the cache, based on a list of stale files and a hashref of access times.

Classes inheriting from this base class should provide the following public methods:

$b = new Cache::AgainstFile::MyBackend(\&loader, \%options)

This should call the base class constructor.

$data = $b->get($filename, @opts)

Fetch an item from the cache. @opts should be passed after the filename to the loader coderef.

$n = $b->count()

Number of items in the cache

$bytes = $b->size()

Total size of the cache in bytes

They should also provide the following protected methods which are used to support purge():

$b->_remove(\@filenames)

Remove a number of items from the cache

$hashref = $b->_accessed()

A hashref of filename => access time

@filenames = $b->_stale()

A list of cache items which are stale with respect to their original files

OPTIONS

The implementation of purge() supports the options:

NoStat
MaxItems
MaxATime

VERSION

$Revision: 1.8 $ on $Date: 2005/06/03 14:29:55 $ by $Author: johna $

AUTHOR

John Alden <cpan _at_ bbc _dot_ co _dot_ uk>

COPYRIGHT

(c) BBC 2005. This program is free software; you can redistribute it and/or modify it under the GNU GPL.

See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt