bes
Updated for version 3.20.6
|
Extend libdap::Array so that a handler can read data using a DMR++ file. More...
#include <DmrppArray.h>
Public Member Functions | |
virtual unsigned long | add_chunk (const std::string &data_url, unsigned long long size, unsigned long long offset, const std::vector< unsigned int > &position_in_array) |
virtual unsigned long | add_chunk (const std::string &data_url, unsigned long long size, unsigned long long offset, std::string position_in_array="") |
Add a new chunk as defined by an h4:byteStream element. More... | |
DmrppArray (const DmrppArray &rhs) | |
DmrppArray (const std::string &n, const std::string &d, libdap::BaseType *v) | |
DmrppArray (const std::string &n, libdap::BaseType *v) | |
virtual void | dump (ostream &strm) const |
virtual void | dump (std::ostream &strm) const |
virtual const std::vector< unsigned int > & | get_chunk_dimension_sizes () const |
virtual unsigned int | get_chunk_size_in_elements () const |
Get the number of elements in this chunk. More... | |
virtual const std::vector< Chunk > & | get_immutable_chunks () const |
virtual std::vector< unsigned int > | get_shape (bool constrained) |
Get the array shape. More... | |
virtual unsigned long long | get_size (bool constrained=false) |
Return the total number of elements in this Array. More... | |
virtual void | ingest_compression_type (std::string compression_type_string) |
Parses the text content of the XML element h4:chunkDimensionSizes into the internal vector<unsigned int> representation. More... | |
virtual bool | is_deflate_compression () const |
Returns true if this object utilizes deflate compression. More... | |
virtual bool | is_shuffle_compression () const |
Returns true if this object utilizes shuffle compression. More... | |
DmrppArray & | operator= (const DmrppArray &rhs) |
virtual void | parse_chunk_dimension_sizes (std::string chunk_dim_sizes_string) |
Set the dimension sizes for a chunk. More... | |
void | print_chunks_element (libdap::XMLWriter &xml, const std::string &name_space="") |
Print the Chunk information. More... | |
virtual void | print_dap4 (libdap::XMLWriter &writer, bool constrained=false) |
Shadow libdap::Array::print_dap4() - optionally prints DMR++ chunk information. More... | |
void | print_dmrpp (libdap::XMLWriter &writer, bool constrained=false) |
Print the DMR++ response for the Scalar types. More... | |
virtual libdap::BaseType * | ptr_duplicate () |
virtual bool | read () |
Read data for the array. More... | |
void | set_chunk_dimension_sizes (const std::vector< size_t > &chunk_dims) |
Set the value of the chunk dimension sizes given a vector of HDF5 hsize_t. More... | |
void | set_deflate (bool value) |
Set the value of the deflate property. More... | |
void | set_shuffle (bool value) |
Set the value of the shuffle property. More... | |
Static Public Attributes | |
static std::string | d_dmrpp_ns = "http://xml.opendap.org/dap/dmrpp/1.0.0#" |
The DMR++ XML namespace. More... | |
static std::string | d_ns_prefix = "dmrpp" |
The XML namespace prefix to use. More... | |
static bool | d_print_chunks = false |
if true, print_dap4() prints chunk elements More... | |
Protected Member Functions | |
virtual std::vector< Chunk > & | get_chunk_vec () |
Returns a reference to the internal Chunk vector. More... | |
void | m_duplicate_common (const DmrppCommon &dc) |
virtual char * | read_atomic (const std::string &name) |
read method for the atomic types More... | |
Friends | |
void | process_one_chunk_unconstrained (Chunk *chunk, DmrppArray *array, const vector< unsigned int > &array_shape, const vector< unsigned int > &chunk_shape) |
Extend libdap::Array so that a handler can read data using a DMR++ file.
Definition at line 60 of file DmrppArray.h.
|
virtualinherited |
Add a new chunk as defined by an h4:byteStream element.
Definition at line 153 of file DmrppCommon.cc.
|
inlinevirtualinherited |
Get the number of elements in this chunk.
Definition at line 139 of file DmrppCommon.h.
|
inlineprotectedvirtualinherited |
Returns a reference to the internal Chunk vector.
Definition at line 82 of file DmrppCommon.h.
|
virtual |
Get the array shape.
constrained | If true, return the shape of the constrained array. |
Definition at line 179 of file DmrppArray.cc.
|
virtual |
Return the total number of elements in this Array.
constrained | If true, use the constrained size of the array, otherwise use the full size. |
Definition at line 163 of file DmrppArray.cc.
|
virtualinherited |
Parses the text content of the XML element h4:chunkDimensionSizes into the internal vector<unsigned int> representation.
compression_type_string | One of "deflate" or "shuffle." |
Definition at line 128 of file DmrppCommon.cc.
|
inlinevirtualinherited |
Returns true if this object utilizes deflate compression.
Definition at line 107 of file DmrppCommon.h.
|
inlinevirtualinherited |
Returns true if this object utilizes shuffle compression.
Definition at line 117 of file DmrppCommon.h.
|
virtualinherited |
Set the dimension sizes for a chunk.
The string argument holds a space-separated list of integers that represent the dimensions of a chunk. Parse that string and store the integers in this instance.
chunk_dims | The sizes as a list of integers separated by spaces, e.g., '50 50' |
Definition at line 90 of file DmrppCommon.cc.
|
inherited |
Print the Chunk information.
Definition at line 205 of file DmrppCommon.cc.
|
virtual |
Shadow libdap::Array::print_dap4() - optionally prints DMR++ chunk information.
This version of libdap::BaseType::print_dap4() will print information about HDF5 chunks when the value of the static class filed dmrpp::DmrppCommon::d_print_chunks is true. The method DMRpp::print_dmrpp() will set the d_pprint_chunks field to true causing this method to include the chunks elements in its output. When the field's value is false, this method prints the same output as libdap::Array.
xml | Write the XML to this instance of XMLWriter |
constrained | True if the response should be constrained. False by default |
Definition at line 1350 of file DmrppArray.cc.
|
inherited |
Print the DMR++ response for the Scalar types.
xml | Write the XML to this instance of XMLWriter |
constrained | If true, print the constrained DMR. False by default. |
Definition at line 282 of file DmrppCommon.cc.
|
virtual |
Read data for the array.
This reads data for a variable and loads it into memory. The software is specialized for reading data using HTTP for either arrays stored in one contiguous piece of memory or in a series of chunks.
BESError | Thrown when the data cannot be read, for a number of reasons, including various network I/O issues. |
Definition at line 1224 of file DmrppArray.cc.
|
protectedvirtualinherited |
read method for the atomic types
This method is used by the specializations of BaseType::read() in the 'atomic' type classes (libdap::Byte, libdap::In32, ...) to read data when those data are contained in a single chunk (i.e., using HDF5 contiguous storage).
name | The name of the variable, used for error messages |
BESInternalError | on error. |
Definition at line 187 of file DmrppCommon.cc.
|
inlineinherited |
Set the value of the chunk dimension sizes given a vector of HDF5 hsize_t.
Definition at line 155 of file DmrppCommon.h.
|
inlineinherited |
Set the value of the deflate property.
Definition at line 112 of file DmrppCommon.h.
|
inlineinherited |
Set the value of the shuffle property.
Definition at line 122 of file DmrppCommon.h.
|
staticinherited |
The DMR++ XML namespace.
Definition at line 90 of file DmrppCommon.h.
|
staticinherited |
The XML namespace prefix to use.
Definition at line 91 of file DmrppCommon.h.
|
staticinherited |
if true, print_dap4() prints chunk elements
Definition at line 89 of file DmrppCommon.h.