bes
Updated for version 3.20.6
|
25 #ifndef _global_metadata_cache_h
26 #define _global_metadata_cache_h
32 #include "BESFileLockingCache.h"
33 #include "BESInternalFatalError.h"
34 #include "BESContainer.h"
39 #define XML_BASE_MISSING_MEANS_OMIT_ATTRIBUTE 1
91 bool d_use_local_time;
92 std::string d_ledger_name;
93 std::string d_xml_base;
95 static bool d_enabled;
101 static void delete_instance() {
107 friend class DmrppMetadataStoreTest;
108 friend class GlobalMetadataStoreTest;
111 std::string d_ledger_entry;
114 std::string
get_hash(
const std::string &name);
132 struct StreamDAP :
public std::unary_function<libdap::DapObj*, void> {
139 StreamDAP(libdap::DDS *dds) : d_dds(dds), d_dmr(0) { }
140 StreamDAP(libdap::DMR *dmr) : d_dds(0), d_dmr(dmr) { }
142 virtual void operator()(std::ostream &os) = 0;
172 const std::string &object_name);
176 const std::string &xml_base,
const std::string &object_name);
178 bool remove_response_helper(
const std::string& name,
const std::string &suffix,
const std::string &object_name);
181 static void insert_xml_base(
int fd, std::ostream &os,
const std::string &xml_base);
193 struct MDSReadLock :
public std::unary_function<std::string, bool> {
197 MDSReadLock() : name(
""), locked(
false), mds(0) { }
204 virtual bool operator()() {
return locked; }
207 virtual void clearLock() {
225 GlobalMetadataStore(
const std::string &cache_dir,
const std::string &prefix,
unsigned long long size);
228 static std::string get_cache_dir_from_config();
229 static std::string get_cache_prefix_from_config();
230 static unsigned long get_cache_size_from_config();
234 unsigned long long size);
241 virtual bool add_responses(libdap::DDS *dds,
const std::string &name);
242 virtual bool add_responses(libdap::DMR *dmr,
const std::string &name);
247 virtual MDSReadLock
is_dmr_available(
const std::string &realName,
const std::string &relativeName,
const std::string &fileType);
258 virtual bool is_available_helper(
const std::string &realName,
const std::string &relativeName,
const std::string &fileType,
const std::string &suffix);
260 virtual time_t
get_cache_lmt(
const std::string &fileName,
const std::string &suffix);
275 virtual void parse_das_from_mds(libdap::DAS*das,
const std::string &name);
280 #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.
A container is something that holds data. E.G., a netcdf file or a database entry.