bes Updated for version 3.20.13
dmrpp::DmrppRequestHandler Class Reference
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 = 0
 
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
 

Detailed Description

Definition at line 45 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 153 of file DmrppRequestHandler.cc.

◆ ~DmrppRequestHandler()

dmrpp::DmrppRequestHandler::~DmrppRequestHandler ( )
override

Definition at line 215 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 386 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 317 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.

Definition at line 443 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 414 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 290 of file DmrppRequestHandler.cc.

◆ dap_build_help()

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

Definition at line 508 of file DmrppRequestHandler.cc.

◆ dap_build_vers()

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

Definition at line 499 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 530 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 = 0
static

Definition at line 74 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 82 of file DmrppRequestHandler.h.

◆ d_emulate_original_filter_order_behavior

bool dmrpp::DmrppRequestHandler::d_emulate_original_filter_order_behavior = false
static

Definition at line 97 of file DmrppRequestHandler.h.

◆ d_max_compute_threads

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

Definition at line 80 of file DmrppRequestHandler.h.

◆ d_max_transfer_threads

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

Definition at line 77 of file DmrppRequestHandler.h.

◆ d_require_chunks

bool dmrpp::DmrppRequestHandler::d_require_chunks = false
static

Definition at line 84 of file DmrppRequestHandler.h.

◆ d_use_compute_threads

bool dmrpp::DmrppRequestHandler::d_use_compute_threads = true
static

Definition at line 79 of file DmrppRequestHandler.h.

◆ d_use_transfer_threads

bool dmrpp::DmrppRequestHandler::d_use_transfer_threads = true
static

Definition at line 76 of file DmrppRequestHandler.h.


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