bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
dmrpp::DmrppRequestHandler Class Reference
Inheritance diagram for dmrpp::DmrppRequestHandler:
Inheritance graph
Collaboration diagram for dmrpp::DmrppRequestHandler:
Collaboration graph

Public Types

typedef std::map< std::string, p_request_handler_method >::const_iterator Handler_citer
 
typedef std::map< std::string, p_request_handler_method >::iterator Handler_iter
 

Public Member Functions

virtual void add_attributes (BESDataHandlerInterface &)
 
virtual bool add_handler (const std::string &name, p_request_handler_method method)
 Backward compatibility with the older version of this class.
 
virtual bool add_method (const std::string &name, p_request_handler_method method)
 add a handler method to the request handler that knows how to fill in a specific response object
 
 DmrppRequestHandler (const std::string &name)
 
void dump (std::ostream &strm) const override
 dumps information about this object
 
virtual p_request_handler_method find_method (const std::string &name)
 find the method that can handle the specified response object type
 
virtual time_t get_lmt (const std::string &name)
 Get the Last modified time for.
 
virtual std::string get_method_names ()
 return a comma separated list of response object types handled by this request handler
 
virtual const std::string & get_name () const
 
virtual bool remove_method (const std::string &name)
 remove the specified handler method from this request handler
 

Static Public Member Functions

static bool dap_build_dap2data (BESDataHandlerInterface &dhi)
 
static bool dap_build_dap4data (BESDataHandlerInterface &dhi)
 Build a DAP4 data response. Adds timing to dap_build_dmr()
 
static bool dap_build_das (BESDataHandlerInterface &dhi)
 
static bool dap_build_dds (BESDataHandlerInterface &dhi)
 
static bool dap_build_dmr (BESDataHandlerInterface &dhi)
 
static bool dap_build_help (BESDataHandlerInterface &dhi)
 
static bool dap_build_vers (BESDataHandlerInterface &dhi)
 

Static Public Attributes

static CurlHandlePoolcurl_handle_pool {nullptr}
 
static unsigned long long d_contiguous_concurrent_threshold = DMRPP_DEFAULT_CONTIGUOUS_CONCURRENT_THRESHOLD
 
static bool d_emulate_original_filter_order_behavior = false
 
static unsigned int d_max_compute_threads = 8
 
static unsigned int d_max_transfer_threads = 8
 
static bool d_require_chunks = false
 
static bool d_use_compute_threads = true
 
static bool d_use_transfer_threads = true
 
static bool disable_direct_io = false
 
static bool is_netcdf4_classic_response = false
 
static bool is_netcdf4_enhanced_response = false
 

Detailed Description

Definition at line 46 of file DmrppRequestHandler.h.

Member Typedef Documentation

◆ Handler_citer

typedef std::map<std::string,p_request_handler_method>::const_iterator BESRequestHandler::Handler_citer
inherited

Definition at line 89 of file BESRequestHandler.h.

◆ Handler_iter

typedef std::map<std::string,p_request_handler_method>::iterator BESRequestHandler::Handler_iter
inherited

Definition at line 90 of file BESRequestHandler.h.

Constructor & Destructor Documentation

◆ DmrppRequestHandler()

dmrpp::DmrppRequestHandler::DmrppRequestHandler ( const std::string & name)
explicit

Here we register all of our handler functions so that the BES Dispatch machinery knows what kinds of things we handle.

Definition at line 187 of file DmrppRequestHandler.cc.

◆ ~DmrppRequestHandler()

dmrpp::DmrppRequestHandler::~DmrppRequestHandler ( )
override

Definition at line 266 of file DmrppRequestHandler.cc.

Member Function Documentation

◆ add_attributes()

void BESRequestHandler::add_attributes ( BESDataHandlerInterface & )
virtualinherited

Definition at line 150 of file BESRequestHandler.cc.

◆ add_handler()

virtual bool BESRequestHandler::add_handler ( const std::string & name,
p_request_handler_method method )
inlinevirtualinherited

Backward compatibility with the older version of this class.

Deprecated

Definition at line 101 of file BESRequestHandler.h.

◆ add_method()

bool BESRequestHandler::add_method ( const std::string & name,
p_request_handler_method handler_method )
virtualinherited

add a handler method to the request handler that knows how to fill in a specific response object

Add a handler method for a specific response object to the request handler. The handler method takes a reference to a BESDataHandlerInterface and returns bool, true if the response object is filled in successfully by the method, false otherwise.

Parameters
handler_namename of the response object this method can fill in
handler_methoda function pointer to the method that can fill in the specified response object
Returns
true if the handler is added, false if it already exists
See also
BESResponseObject
BESResponseNames

Definition at line 58 of file BESRequestHandler.cc.

◆ dap_build_dap2data()

bool dmrpp::DmrppRequestHandler::dap_build_dap2data ( BESDataHandlerInterface & dhi)
static

Produce a DAP2 Data Response (.dods) response from a DMRPP file.

Definition at line 511 of file DmrppRequestHandler.cc.

◆ dap_build_dap4data()

bool dmrpp::DmrppRequestHandler::dap_build_dap4data ( BESDataHandlerInterface & dhi)
static

Build a DAP4 data response. Adds timing to dap_build_dmr()

Parameters
dhi
Returns

Definition at line 474 of file DmrppRequestHandler.cc.

◆ dap_build_das()

bool dmrpp::DmrppRequestHandler::dap_build_das ( BESDataHandlerInterface & dhi)
static

Produce a DAP2 DAS response from a DMRPP data set. This is a little messy.

Definition at line 559 of file DmrppRequestHandler.cc.

◆ dap_build_dds()

bool dmrpp::DmrppRequestHandler::dap_build_dds ( BESDataHandlerInterface & dhi)
static

Produce a DAP2 DDS response from a DMRPP file.

Definition at line 535 of file DmrppRequestHandler.cc.

◆ dap_build_dmr()

bool dmrpp::DmrppRequestHandler::dap_build_dmr ( BESDataHandlerInterface & dhi)
static

Given a request for the DMR response, look at the data source and parse it's DMR/XML information. If the data source is a .dmr or .xml file, assume that's all the data source contains and that the plain DMR parser can be used. If the data source is a .dap file, assume it is a DAP4 data response that has been dumped to a file, sans MIME headers. Use the code in libdap::Connect to read the DMR.

Parameters
dhi
Returns
Always returns true
Exceptions
BESError,libdap::InternalErr,libdap::Error

Definition at line 449 of file DmrppRequestHandler.cc.

◆ dap_build_help()

bool dmrpp::DmrppRequestHandler::dap_build_help ( BESDataHandlerInterface & dhi)
static

Definition at line 623 of file DmrppRequestHandler.cc.

◆ dap_build_vers()

bool dmrpp::DmrppRequestHandler::dap_build_vers ( BESDataHandlerInterface & dhi)
static

Definition at line 615 of file DmrppRequestHandler.cc.

◆ dump()

void dmrpp::DmrppRequestHandler::dump ( std::ostream & strm) const
overridevirtual

dumps information about this object

Displays the pointer value of this instance, the name of the request handler, and the names of all registered handler functions

Parameters
strmC++ i/o stream to dump the information to

Reimplemented from BESRequestHandler.

Definition at line 644 of file DmrppRequestHandler.cc.

◆ find_method()

p_request_handler_method BESRequestHandler::find_method ( const std::string & name)
virtualinherited

find the method that can handle the specified response object type

Find the method that can handle the specified response object type. The response object type is the same as the handler name.

Parameters
handler_namename of the method that can fill in the response object type
Returns
the method that can fill in the specified response object type
See also
BESResponseObject
BESResponseNames

Definition at line 95 of file BESRequestHandler.cc.

◆ get_lmt()

time_t BESRequestHandler::get_lmt ( const std::string & name)
virtualinherited

Get the Last modified time for.

  • name

Handlers that need a more sophisticated method should subclass.

Parameters
name
Returns
The LMT

Definition at line 133 of file BESRequestHandler.cc.

◆ get_method_names()

string BESRequestHandler::get_method_names ( )
virtualinherited

return a comma separated list of response object types handled by this request handler

Returns
the comma separated list of response object types
See also
BESResponseObject
BESResponseNames

Definition at line 112 of file BESRequestHandler.cc.

◆ get_name()

virtual const std::string & BESRequestHandler::get_name ( ) const
inlinevirtualinherited

Definition at line 92 of file BESRequestHandler.h.

◆ remove_method()

bool BESRequestHandler::remove_method ( const std::string & name)
virtualinherited

remove the specified handler method from this request handler

Parameters
handler_namename of the method to be removed, same as the name of the response object
Returns
true if successfully removed, false if not found
See also
BESResponseNames

Definition at line 74 of file BESRequestHandler.cc.

Member Data Documentation

◆ curl_handle_pool

CurlHandlePool * dmrpp::DmrppRequestHandler::curl_handle_pool {nullptr}
static

Definition at line 78 of file DmrppRequestHandler.h.

◆ d_contiguous_concurrent_threshold

unsigned long long dmrpp::DmrppRequestHandler::d_contiguous_concurrent_threshold = DMRPP_DEFAULT_CONTIGUOUS_CONCURRENT_THRESHOLD
static

Definition at line 86 of file DmrppRequestHandler.h.

◆ d_emulate_original_filter_order_behavior

bool dmrpp::DmrppRequestHandler::d_emulate_original_filter_order_behavior = false
static

Definition at line 101 of file DmrppRequestHandler.h.

◆ d_max_compute_threads

unsigned int dmrpp::DmrppRequestHandler::d_max_compute_threads = 8
static

Definition at line 84 of file DmrppRequestHandler.h.

◆ d_max_transfer_threads

unsigned int dmrpp::DmrppRequestHandler::d_max_transfer_threads = 8
static

Definition at line 81 of file DmrppRequestHandler.h.

◆ d_require_chunks

bool dmrpp::DmrppRequestHandler::d_require_chunks = false
static

Definition at line 88 of file DmrppRequestHandler.h.

◆ d_use_compute_threads

bool dmrpp::DmrppRequestHandler::d_use_compute_threads = true
static

Definition at line 83 of file DmrppRequestHandler.h.

◆ d_use_transfer_threads

bool dmrpp::DmrppRequestHandler::d_use_transfer_threads = true
static

Definition at line 80 of file DmrppRequestHandler.h.

◆ disable_direct_io

bool dmrpp::DmrppRequestHandler::disable_direct_io = false
static

Definition at line 105 of file DmrppRequestHandler.h.

◆ is_netcdf4_classic_response

bool dmrpp::DmrppRequestHandler::is_netcdf4_classic_response = false
static

Definition at line 104 of file DmrppRequestHandler.h.

◆ is_netcdf4_enhanced_response

bool dmrpp::DmrppRequestHandler::is_netcdf4_enhanced_response = false
static

Definition at line 103 of file DmrppRequestHandler.h.


The documentation for this class was generated from the following files: