Man Linux: Main Page and Category List

NAME

       af_savecache, af_cachesize - AtFS derived object cache handling

SYNOPSIS

       #include <atfs.h>

       int  af_savecache  (Af_key *busyAso, Af_key* cachedAso, char *attr, int
       mode)

       int  af_cachesize  (char  path,  int  totalMax,  int  maxPerName,   int
       maxPerGivenAttr);

DESCRIPTION

       af_savecache  copies  a  busy attributed software object (busyAso) to a
       derived object cache. A key for the resulting cached ASO is returned in
       the  buffer  cachedAso.   Derived  object  caches  are intended to hold
       derived objects that can be reproduced at any time. Reproducibility  is
       important,  because  cached  ASOs  may  be deleted automatically due to
       storage limitations for  derived  object  caches.   A  cache  allows  a
       certain   number  of  versions  per  name  (see  function  af_cachesize
       described below) to be stored. When this number is reached, each time a
       new version arrives, the oldest version (access date) gets cleaned out.

       The strategy of cleaning out old versions when space is needed for  new
       ones   is   influenced  by  the  attr  argument.  When  this  is  given
       af_savecache searches for cached versions (with the same  name  as  the
       new  one)  carrying  the  given attribute. If it finds one or more such
       versions, the oldest (access date) of them will be eliminated.

       The mode argument may have one of the following values

       AF_STORE_COMPLETE
                   (default) The cached file is stored unmodified.

       AF_STORE_COMPRESSED
                   The cached file will be stored in a compressed format.

       ASOs that are saved in derived object caches do not automatically get a
       version  number.  By  means of af_svnum (manual page af_version(3)) you
       can attach any version number to an ASO  stored  in  a  derived  object
       cache.

       af_cachesize  defines the size strategy of the cache in directory path.
       It sets the maximum cache size for the whole directory (totalMax),  the
       maximum  number  of  versions  per name (maxPerName), and the number of
       versions allowed simultaneously carrying the elimination attribute (see
       before).  A  value less or equal zero given for any of the arguments of
       af_cachesize will cause this argument to be ignored.

DIAGNOSTICS

       Upon error, -1 is returned and af_errno is  set  to  the  corresponding
       error number.

BUGS

       Compression  of  cached  files  (mode  AF_STORE_COMPRESSED)  is not yet
       supported.

       af_cachesize cannot shrink derived object caches yet. Values given must
       be greater or equal the prevoius size.