bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
Entry point into BES using xml document requests. More...
#include <BESXMLInterface.h>
Public Member Functions | |
BESXMLInterface (const std::string &cmd, std::ostream *strm) | |
void | dump (std::ostream &strm) const override |
dumps information about this object | |
virtual int | execute_request (const std::string &from) |
The entry point for command execution; called by BESServerHandler::execute() | |
virtual int | finish (int status) |
Protected Member Functions | |
void | build_data_request_plan () override |
Build the data request plan using the BESCmdParser. | |
void | clean () override |
Clean up after the request is completed. | |
void | clear_bes_timeout () |
Clear the bes timeout. | |
virtual void | end_request () |
End the BES request. | |
void | execute_data_request_plan () override |
Execute the data request plan. | |
void | log_status () override |
Log the status of the request to the BESLog file. | |
void | log_the_command () |
Log information about the command. | |
void | set_bes_timeout () |
Set the int 'd_bes_timeout' Use either the value of a 'bes_timeout' context or the value set in the BES keys to set the global volatile int 'bes_timeout'. | |
void | transmit_data () override |
Transmit the response object. | |
Static Protected Member Functions | |
static int | handleException (const BESError &e, BESDataHandlerInterface &dhi) |
Make a BESXMLInfo object to hold the error information. | |
Protected Attributes | |
BESDataHandlerInterface * | d_dhi_ptr {nullptr} |
Allocated by the child class. | |
BESTransmitter * | d_transmitter {nullptr} |
The Transmitter to use for the result. | |
Friends | |
class | XmlInterfaceTest |
Entry point into BES using xml document requests.
Definition at line 47 of file BESXMLInterface.h.
BESXMLInterface::BESXMLInterface | ( | const std::string & | cmd, |
std::ostream * | strm ) |
Definition at line 63 of file BESXMLInterface.cc.
|
override |
Definition at line 71 of file BESXMLInterface.cc.
|
overrideprotectedvirtual |
Build the data request plan using the BESCmdParser.
Implements BESInterface.
Definition at line 78 of file BESXMLInterface.cc.
|
overrideprotectedvirtual |
Clean up after the request is completed.
Implements BESInterface.
Definition at line 450 of file BESXMLInterface.cc.
|
protectedinherited |
Clear the bes timeout.
Definition at line 308 of file BESInterface.cc.
|
overridevirtual |
dumps information about this object
Displays the pointer value of this instance
strm | C++ i/o stream to dump the information to |
Reimplemented from BESInterface.
Definition at line 472 of file BESXMLInterface.cc.
|
protectedvirtualinherited |
End the BES request.
This method allows developers to add callbacks at the end of a request, to do any cleanup or do any extra work at the end of a request
Definition at line 485 of file BESInterface.cc.
|
overrideprotectedvirtual |
Execute the data request plan.
Implements BESInterface.
Definition at line 351 of file BESXMLInterface.cc.
|
virtualinherited |
The entry point for command execution; called by BESServerHandler::execute()
Execute the request by:
If an exception is thrown in any of these steps the exception is handed over to the exception manager in order to generate the proper response. Control is returned back to the calling method if an exception is thrown and it is the responsibility of the calling method to call finish_with_error in order to transmit the error message back to the client.
from | A string that tells where this request came from. Literally, the IP and port number or the string 'standalone'. See void BESServerHandler::execute(Connection *c) or void StandAloneClient::executeCommand(const string & cmd, int repeat) |
Definition at line 354 of file BESInterface.cc.
Call this once execute_request() has completed.
status |
Definition at line 455 of file BESInterface.cc.
|
staticprotectedinherited |
Make a BESXMLInfo object to hold the error information.
Get the admin email address and form an error response to pass back to the OLFS. The response is an XML document.
e | The BESError object |
dhi | The BESDataHandlerInterface object |
Definition at line 242 of file BESInterface.cc.
|
overrideprotectedvirtual |
Log the status of the request to the BESLog file.
This will only log information in the verbose mode.
Implements BESInterface.
Definition at line 434 of file BESXMLInterface.cc.
|
protected |
Log information about the command.
Definition at line 288 of file BESXMLInterface.cc.
|
protectedinherited |
Set the int 'd_bes_timeout' Use either the value of a 'bes_timeout' context or the value set in the BES keys to set the global volatile int 'bes_timeout'.
Definition at line 280 of file BESInterface.cc.
|
overrideprotectedvirtual |
Transmit the response object.
This is only called from BESXMLInterface::execute_data_request_plan().
Only transmit if there is an error or if there is a ResponseHandler. For any XML document with one or more commands, there should only be one ResponseHandler.
Implements BESInterface.
Definition at line 396 of file BESXMLInterface.cc.
|
friend |
Definition at line 50 of file BESXMLInterface.h.
|
protectedinherited |
Allocated by the child class.
Definition at line 124 of file BESInterface.h.
|
protectedinherited |
The Transmitter to use for the result.
Definition at line 125 of file BESInterface.h.