Provided by: atfs-dev_1.4pl6-16.1build1_amd64 bug

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.