25 #ifndef _global_metadata_cache_h 26 #define _global_metadata_cache_h 31 #include "BESFileLockingCache.h" 32 #include "BESInternalFatalError.h" 37 #define XML_BASE_MISSING_MEANS_OMIT_ATTRIBUTE 1 88 bool d_use_local_time;
89 std::string d_ledger_name;
90 std::string d_xml_base;
92 static bool d_enabled;
96 static void delete_instance() {
102 friend class DmrppMetadataStoreTest;
103 friend class GlobalMetadataStoreTest;
106 std::string d_ledger_entry;
109 std::string
get_hash(
const std::string &name);
127 struct StreamDAP :
public std::unary_function<libdap::DapObj*, void> {
134 StreamDAP(libdap::DDS *dds) : d_dds(dds), d_dmr(0) { }
135 StreamDAP(libdap::DMR *dmr) : d_dds(0), d_dmr(dmr) { }
137 virtual void operator()(std::ostream &os) = 0;
167 const std::string &object_name);
171 const std::string &xml_base,
const std::string &object_name);
173 bool remove_response_helper(
const std::string& name,
const std::string &suffix,
const std::string &object_name);
176 static void insert_xml_base(
int fd, ostream &os,
const string &xml_base);
188 struct MDSReadLock :
public std::unary_function<std::string, bool> {
192 MDSReadLock() : name(
""), locked(
false), mds(0) { }
199 virtual bool operator()() {
return locked; }
214 GlobalMetadataStore(
const std::string &cache_dir,
const std::string &prefix,
unsigned long long size);
217 static string get_cache_dir_from_config();
218 static string get_cache_prefix_from_config();
219 static unsigned long get_cache_size_from_config();
223 unsigned long long size);
230 virtual bool add_responses(libdap::DDS *dds,
const std::string &name);
231 virtual bool add_responses(libdap::DMR *dmr,
const std::string &name);
254 #endif // _global_metadata_cache_h
exception thrown if an internal error is found and is fatal to the BES
virtual void unlock_and_close(const std::string &target)
Implementation of a caching mechanism for compressed data.