Represents a "queue-able", remote, CORBA request. Both syncronous and asynchronous remote CORBA requests are represented by the class. More...
#include <CSD_TP_Remote_Request.h>
Public Member Functions | |
TP_Remote_Request (TAO_ServerRequest &server_request, const PortableServer::ObjectId &object_id, PortableServer::POA_ptr poa, const char *operation, PortableServer::Servant servant, TP_Servant_State *servant_state) | |
Constructor. | |
virtual | ~TP_Remote_Request () |
Virtual Destructor. | |
Protected Member Functions | |
virtual void | prepare_for_queue_i () |
virtual void | dispatch_i () |
Dispatch the request to the servant. | |
virtual void | cancel_i () |
Cancel the request. |
Represents a "queue-able", remote, CORBA request. Both syncronous and asynchronous remote CORBA requests are represented by the class.
TBD - Go over the following comments and clean up.
Since this class derives from the TP_Request class, it can be added to a TP_Queue (ie, it is a "queueable" request). It represents a servant request that has been made by a remote CORBA client (as opposed to a collocated CORBA client). The term "CORBA client" is being used here to distinguish CORBA servant requests (those made thru a CORBA object reference), and "Custom" servant requests that can be "dispatched" to the strategy directly by the client application code (ie, not thru a CORBA object reference). Thus, there are "CORBA clients" and "Direct clients".
In summary, this class represents a servant request made when a remote client invokes a method on a CORBA object reference.
Definition at line 61 of file CSD_TP_Remote_Request.h.
TAO::CSD::TP_Remote_Request::TP_Remote_Request | ( | TAO_ServerRequest & | server_request, | |
const PortableServer::ObjectId & | object_id, | |||
PortableServer::POA_ptr | poa, | |||
const char * | operation, | |||
PortableServer::Servant | servant, | |||
TP_Servant_State * | servant_state | |||
) |
Constructor.
Definition at line 9 of file CSD_TP_Remote_Request.inl.
: TP_Corba_Request(object_id, poa, operation, servant, servant_state, server_request) { }
TAO::CSD::TP_Remote_Request::~TP_Remote_Request | ( | ) | [virtual] |
void TAO::CSD::TP_Remote_Request::cancel_i | ( | ) | [protected, virtual] |
Cancel the request.
Implements TAO::CSD::TP_Request.
Definition at line 50 of file CSD_TP_Remote_Request.cpp.
{ this->do_cancel(); }
void TAO::CSD::TP_Remote_Request::dispatch_i | ( | ) | [protected, virtual] |
Dispatch the request to the servant.
Implements TAO::CSD::TP_Request.
Definition at line 28 of file CSD_TP_Remote_Request.cpp.
{ try { this->do_dispatch(); } catch (const ::CORBA::Exception&) { // Eat these. We probably should log these, but since we have already // unblocked the requesting thread there is no point in saving it or // doing anything with it. } catch (...) { // Eat these. We probably should log these, but since we have already // unblocked the requesting thread there is no point in saving it or // doing anything with it. } }
void TAO::CSD::TP_Remote_Request::prepare_for_queue_i | ( | ) | [protected, virtual] |
Prepare this TP_Remote_Request object to be placed into the request queue. This will cause the underlying TAO_ServerRequest object to be cloned.
Reimplemented from TAO::CSD::TP_Request.
Definition at line 21 of file CSD_TP_Remote_Request.cpp.
{ this->do_clone(); }