33#include <BESInternalError.h>
36#include "CurlHandlePool.h"
37#include "DmrppRequestHandler.h"
38#include "DmrppD4Opaque.h"
52 dynamic_cast<D4Opaque &
>(*this) = rhs;
54 dynamic_cast<DmrppCommon &
>(*this) = rhs;
60void DmrppD4Opaque::insert_chunk(shared_ptr<Chunk> chunk)
64 if (chunk_shape.size() != 1)
throw BESInternalError(
"Opaque variables' chunks can only have one dimension.", __FILE__, __LINE__);
67 const vector<unsigned long long> &chunk_origin = chunk->get_position_in_array();
69 char *source_buffer = chunk->get_rbuf();
70 unsigned char *target_buffer =
get_buf();
72 memcpy(target_buffer + chunk_origin[0], source_buffer, chunk_shape[0]);
75void DmrppD4Opaque::read_chunks()
79 if (!is_filters_empty()){
104 if (read_p())
return true;
124DmrppD4Opaque::set_send_p(
bool state)
129 D4Opaque::set_send_p(state);
132void DmrppD4Opaque::dump(ostream & strm)
const
134 strm << BESIndent::LMarg <<
"DmrppD4Opaque::dump - (" << (
void *)
this <<
")" << endl;
136 DmrppCommon::dump(strm);
137 D4Opaque::dump(strm);
138 strm << BESIndent::LMarg <<
"value: " <<
"----" << endl;
139 BESIndent::UnIndent();
virtual void load_attributes(libdap::BaseType *btp)
Load the attribute information for this variable.
virtual bool get_chunks_loaded() const
Have the chunks been loaded?
virtual const std::vector< std::shared_ptr< Chunk > > & get_immutable_chunks() const
A const reference to the vector of chunks.
virtual const std::vector< unsigned long long > & get_chunk_dimension_sizes() const
The chunk dimension sizes held in a const vector.
virtual void load_chunks(libdap::BaseType *btp)
Load chunk information for this variable.
virtual unsigned long long get_chunk_size_in_elements() const
Get the number of elements in this chunk.
virtual std::string get_filters() const
Return the names of all the filters in the order they were applied.
virtual bool get_attributes_loaded() const
Have the attributes been loaded?
virtual char * read_atomic(const std::string &name)
read method for the atomic types
virtual unsigned char * get_buf()
Get a pointer to start of the Opaque data buffer.
bool read() override
Read opaque data.