#include <BESStreamResponseHandler.h>
Public Member Functions | |
BESStreamResponseHandler (const string &name) | |
virtual | ~BESStreamResponseHandler (void) |
virtual void | execute (BESDataHandlerInterface &r) |
executes the command 'get file <filename>;' by streaming the specified file | |
virtual void | transmit (BESTransmitter *transmitter, BESDataHandlerInterface &r) |
transmit the file, streaming it back to the client | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
virtual BESResponseObject * | get_response_object () |
return the current response object | |
virtual BESResponseObject * | set_response_object (BESResponseObject *o) |
replaces the current response object with the specified one, returning the current response object | |
virtual string | get_name () const |
return the name of this response object | |
Static Public Member Functions | |
static BESResponseHandler * | BESStreamResponseBuilder (const string &name) |
Protected Attributes | |
string | _response_name |
BESResponseObject * | _response |
BESStreamResponseHandler::BESStreamResponseHandler | ( | const string & | name | ) |
Referenced by BESStreamResponseBuilder().
BESStreamResponseHandler::~BESStreamResponseHandler | ( | void | ) | [virtual] |
void BESStreamResponseHandler::execute | ( | BESDataHandlerInterface & | dhi | ) | [virtual] |
executes the command 'get file <filename>;' by streaming the specified file
dhi | structure that holds request and response information |
BESNotFoundError | if the specified file to stream does not exist | |
BESInternalError | if not all required information is provided |
Implements BESResponseHandler.
References BESResponseHandler::_response, BESContainer::access(), BES_STREAM_BUFFER_SIZE, _BESDataHandlerInterface::container, _BESDataHandlerInterface::containers, _BESDataHandlerInterface::first_container(), and _BESDataHandlerInterface::get_output_stream().
void BESStreamResponseHandler::transmit | ( | BESTransmitter * | transmitter, | |
BESDataHandlerInterface & | dhi | |||
) | [virtual] |
transmit the file, streaming it back to the client
transmitter | object that knows how to transmit specific basic types | |
dhi | structure that holds the request and response information |
Implements BESResponseHandler.
void BESStreamResponseHandler::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance
strm | C++ i/o stream to dump the information to |
Reimplemented from BESResponseHandler.
References BESResponseHandler::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
BESResponseHandler * BESStreamResponseHandler::BESStreamResponseBuilder | ( | const string & | name | ) | [static] |
References BESStreamResponseHandler().
Referenced by BESDefaultModule::initialize().
BESResponseObject * BESResponseHandler::get_response_object | ( | ) | [virtual, inherited] |
return the current response object
Returns the current response object, null if one has not yet been created. The response handler maintains ownership of the response object.
References BESResponseHandler::_response.
Referenced by BESDapRequestHandler::dap_build_help(), and BESDapRequestHandler::dap_build_version().
BESResponseObject * BESResponseHandler::set_response_object | ( | BESResponseObject * | o | ) | [virtual, inherited] |
replaces the current response object with the specified one, returning the current response object
This method is used to replace the response object with a new one, for example if during aggregation a new response object is built from the current response object.
The caller of set_response_object now owns the returned response object. The new response object is now owned by the response object.
o | new response object used to replace the current one |
References BESResponseHandler::_response.
virtual string BESResponseHandler::get_name | ( | ) | const [inline, virtual, inherited] |
return the name of this response object
This name is used to determine which response handler can handle a requested responose, such as das, dds, ddx, tab, info, version, help, etc...
References BESResponseHandler::_response_name.
string BESResponseHandler::_response_name [protected, inherited] |
Referenced by BESResponseHandler::dump(), BESDDXResponseHandler::execute(), and BESResponseHandler::get_name().
BESResponseObject* BESResponseHandler::_response [protected, inherited] |
Referenced by BESResponseHandler::dump(), BESVersionResponseHandler::execute(), execute(), BESStatusResponseHandler::execute(), BESShowDefsResponseHandler::execute(), BESShowContextResponseHandler::execute(), BESShowContainersResponseHandler::execute(), BESSetContextResponseHandler::execute(), BESSetContainerResponseHandler::execute(), BESProcIdResponseHandler::execute(), BESHelpResponseHandler::execute(), BESDelDefsResponseHandler::execute(), BESDelDefResponseHandler::execute(), BESDelContainersResponseHandler::execute(), BESDelContainerResponseHandler::execute(), BESDefineResponseHandler::execute(), BESDDXResponseHandler::execute(), BESDDSResponseHandler::execute(), BESDataResponseHandler::execute(), BESDASResponseHandler::execute(), BESConfigResponseHandler::execute(), BESCatalogResponseHandler::execute(), BESResponseHandler::get_response_object(), BESResponseHandler::set_response_object(), BESVersionResponseHandler::transmit(), BESStatusResponseHandler::transmit(), BESShowDefsResponseHandler::transmit(), BESShowContextResponseHandler::transmit(), BESShowContainersResponseHandler::transmit(), BESSetContextResponseHandler::transmit(), BESSetContainerResponseHandler::transmit(), BESProcIdResponseHandler::transmit(), BESHelpResponseHandler::transmit(), BESDelDefsResponseHandler::transmit(), BESDelDefResponseHandler::transmit(), BESDelContainersResponseHandler::transmit(), BESDelContainerResponseHandler::transmit(), BESDefineResponseHandler::transmit(), BESDDXResponseHandler::transmit(), BESDDSResponseHandler::transmit(), BESDataResponseHandler::transmit(), BESDASResponseHandler::transmit(), BESConfigResponseHandler::transmit(), BESCatalogResponseHandler::transmit(), and BESResponseHandler::~BESResponseHandler().