bes  Updated for version 3.20.6
HDF5DiskCache.h
1 //
8 #ifndef _h5_disk_cache_h
9 #define _h5_disk_cache_h
10 
11 #include <unistd.h>
12 #include <string>
13 #include <vector>
14 #include "BESFileLockingCache.h"
15 
17 {
18 private:
19  static HDF5DiskCache *d_instance;
20  static void delete_instance() { delete d_instance; d_instance = 0; }
21 
22  HDF5DiskCache(const unsigned long long,const std::string&, const std::string&);
23 
24 public:
25  static const std::string PATH_KEY;
26  static const std::string SIZE_KEY;
27  static const std::string PREFIX_KEY;
28  virtual ~HDF5DiskCache() {}
29 
30  static long getCacheSizeFromConfig(const long cache_size);
31  static std::string getCachePrefixFromConfig(const std::string&);
32  static std::string getCacheDirFromConfig(const std::string&);
33 
34  bool is_valid(const std::string & cache_file_name, const int expected_file_size);
35  static HDF5DiskCache *get_instance(const long, const std::string&, const std::string&);
36  bool get_data_from_cache(const std::string &cache_file_name, const int expected_file_size,int &fd);
37  bool write_cached_data(const std::string &cache_file_name,const int expected_file_size,const std::vector<double> &val);
38  bool write_cached_data2(const std::string &cache_file_name,const int expected_file_size,const void *buf);
39 };
40 
41 #endif
42 
HDF5DiskCache
Definition: HDF5DiskCache.h:16
BESFileLockingCache
Implementation of a caching mechanism for compressed data.
Definition: BESFileLockingCache.h:85
HDF5DiskCache::get_instance
static HDF5DiskCache * get_instance(const long, const std::string &, const std::string &)
Definition: HDF5DiskCache.cc:99