NAME

ACE_Filecache - A hash table holding the information about entry point into the Cached Virtual Filesystem. On insertion, the reference count is incremented. On destruction, reference count is decremented.

SYNOPSIS

#include <ace/Filecache.h>

class ACE_Filecache { public: static ACE_Filecache *instance (void); ~ACE_Filecache (void); int find (const char *filename); ACE_Filecache_Object *fetch (const char *filename, int mapit = 1); ACE_Filecache_Object *remove (const char *filename); ACE_Filecache_Object *create (const char *filename, int size); ACE_Filecache_Object *finish (ACE_Filecache_Object *&new_file); enum{ ACE_DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE = 512, ACE_DEFAULT_VIRTUAL_FILESYSTEM_CACHE_SIZE = 20 }; protected: ACE_Filecache_Object *insert_i ( const char *filename, ACE_SYNCH_RW_MUTEX &filelock, int mapit ); ACE_Filecache_Object *remove_i (const char *filename); ACE_Filecache_Object *update_i ( const char *filename, ACE_SYNCH_RW_MUTEX &filelock, int mapit ); ACE_Filecache (void); private: int size_; ACE_Filecache_Hash hash_; static ACE_Filecache *cvf_; ACE_SYNCH_RW_MUTEX hash_lock_[ACE_DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE]; ACE_SYNCH_RW_MUTEX file_lock_[ACE_DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE]; };

Synchronization variables.

    ACE_SYNCH_RW_MUTEX hash_lock_[ACE_DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE];
    

    ACE_SYNCH_RW_MUTEX file_lock_[ACE_DEFAULT_VIRTUAL_FILESYSTEM_TABLE_SIZE];
    

AUTHOR

James Hu

LIBRARY

ace