BBC (British Broadcasting Corporation) > Cache-AgainstFile-1.016 > Cache::AgainstFile::Base

Download:
Cache-AgainstFile-1.016.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1.008   Source  

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

syntax highlighting: