|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file. More...
Classes | |
| class | AggMemberDataset |
| Abstract helper superclass for allowing lazy access to the DataDDS for an aggregation. More... | |
| class | AggMemberDatasetDDSWrapper |
| class AggMemberDatasetDDSWrapper: concrete subclass of AggMemberDataset designed to hold a weak reference to an object containing a DataDDS (DDSAccessInterface). More... | |
| class | AggMemberDatasetSharedDDSWrapper |
| class AggMemberDatasetSharedDDSWrapper: concrete subclass of AggMemberDataset designed to hold a ref-counted reference to an object containing a DataDDS (DDSAccessRCInterface). More... | |
| class | AggMemberDatasetUsingLocationRef |
| class AggMemberDatasetUsingLocationRef: Concrete subclass of AggMemberDataset for lazy-loading a location (file) if the DataDDS for the given dataset is needed. More... | |
| class | AggMemberDatasetWithDimensionCacheBase |
| class | AggregationException |
| Exception class used by AggregationUtil and other agg_util classes to pass generic exceptions upward into more context-specific locations. More... | |
| class | AggregationUtil |
| A static class for encapsulating the aggregation functionality on libdap. More... | |
| class | ArrayAggregateOnOuterDimension |
| class ArrayAggregateOnOuterDimension More... | |
| class | ArrayAggregationBase |
| Base class for subclasses of libdap::Array which perform aggregation on a list of AggMemberDatasets when asked. More... | |
| struct | ArrayGetterInterface |
| Helper class hierarchy for acquiring variable of a certain type from a DDS. More... | |
| class | ArrayJoinExistingAggregation |
| class | BadWeakPtr |
| Exception class for all errors from WeakRCPtr<T> More... | |
| class | DDSAccessInterface |
| Interface class for any object that can contains a DDS. More... | |
| class | DDSAccessRCInterface |
| Mixture interface for when we a reference-counted DDS container. More... | |
| class | DDSLoader |
| struct | Dimension |
| Struct for holding information about a dimension of data, minimally a name and a cardinality (size). More... | |
| class | DimensionNotFoundException |
| Basic information subclass for cases of dimension not found in an aggregation. More... | |
| class | DimensionTable |
| Container class for a table of dimensions for a given dataset. More... | |
| class | DirectoryUtil |
| Helper classes for using dirent.h, dir.h, stat.h, etc. More... | |
| class | FileInfo |
| Class to hold info on files as we get them. More... | |
| class | GridAggregateOnOuterDimension |
| class GridAggregateOnOuterDimension : public GridAggregationBase More... | |
| class | GridAggregationBase |
| class | GridJoinExistingAggregation |
| class | RCObject |
| A base class for a simple reference counted object. More... | |
| class | RCObjectInterface |
| Interface class for a reference counted object. More... | |
| class | RCObjectPool |
| A monitoring "pool" class for created RCObject's which allows us to forcibly delete any RCOBject's regardless of their ref counts when we know we are done with them, say after an exception. More... | |
| class | RCPtr |
| A reference to an RCObject which automatically ref() and deref() on creation and destruction. More... | |
| class | SimpleTimeParser |
| Helper class to parse in very simple string specifications of times and return it as an (approximate) duration in seconds. More... | |
| struct | TopLevelArrayGetter |
| Concrete impl that simply finds the Array by looking for a variable of the given name at the top level of the DDS (i.e. More... | |
| struct | TopLevelGridDataArrayGetter |
| struct | TopLevelGridMapArrayGetter |
| class | UseCountHitZeroCB |
| Interface for registering callbacks to the RCObject for when the usecount hits 0 but before the deallocate functionality is performed. More... | |
| class | WeakRCPtr |
| A variant of boost::weak_ptr that uses our intrusive RCObject counting. More... | |
Typedefs | |
| typedef std::vector< RCPtr< AggMemberDataset > > | AMDList |
| typedef std::set< RCObject * > | RCObjectSet |
Functions | |
| template<class T > | |
| void | appendVectorOfRCObject (std::vector< T * > &intoVec, const std::vector< T * > &fromVec) |
| Assumes T has ref() More... | |
| template<class T > | |
| void | clearAndUnrefAllElements (std::vector< T * > &vecToClear) |
| Assumes T has unref() More... | |
| template<typename T > | |
| void | clearVectorAndDeletePointers (std::vector< T * > &vecToClear) |
| For each ptr element pElt in vecToClear, delete pElt and remove it from vecToClear. More... | |
| std::ostream & | operator<< (std::ostream &os, const Dimension &dim) |
| Dump to stream. More... | |
| std::istream & | operator>> (std::istream &is, Dimension &dim) |
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file.
The dhi will hijacked at the start of the load() call and restored before the DDX is returned.
For exception safety, if this object's dtor is called while the dhi is hijacked or the response hasn't been relinquished, it will restore the dhi and clean memory, so the caller can guarantee resources will be in their original (ctor time) state if this object is destroyed via an exception stack unwind, etc.
TODO see if there's another way to load these files without hijacking an existing dhi or if we want to refer to remote BES's rather than the local. If we do this, this class will become an interface class with the various concrete subclasses for doing local vs. remote loads, etc.
| typedef std::vector< RCPtr<AggMemberDataset> > agg_util::AMDList |
Definition at line 158 of file AggMemberDataset.h.
| typedef std::set<RCObject*> agg_util::RCObjectSet |
Definition at line 43 of file RCObject.h.
| void agg_util::appendVectorOfRCObject | ( | std::vector< T * > & | intoVec, |
| const std::vector< T * > & | fromVec | ||
| ) |
Assumes T has ref()
Definition at line 521 of file AggregationUtil.h.
| void agg_util::clearAndUnrefAllElements | ( | std::vector< T * > & | vecToClear | ) |
Assumes T has unref()
Definition at line 509 of file AggregationUtil.h.
| void agg_util::clearVectorAndDeletePointers | ( | std::vector< T * > & | vecToClear | ) |
For each ptr element pElt in vecToClear, delete pElt and remove it from vecToClear.
On exit, vecToClear.empty() and all ptrs it used to contain have been delete'd.
| vecToClear |
Definition at line 497 of file AggregationUtil.h.
| std::ostream & agg_util::operator<< | ( | std::ostream & | os, |
| const Dimension & | dim | ||
| ) |
Dump to stream.
Definition at line 70 of file Dimension.cc.
References agg_util::Dimension::name, and agg_util::Dimension::size.
| std::istream & agg_util::operator>> | ( | std::istream & | is, |
| Dimension & | dim | ||
| ) |
Definition at line 77 of file Dimension.cc.
References agg_util::Dimension::isShared, agg_util::Dimension::isSizeConstant, agg_util::Dimension::name, and agg_util::Dimension::size.