TAO
2.3.3
|
Class representing a ServerRequest object. More...
#include <TAO_Server_Request.h>
Public Member Functions | |
TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base, TAO_InputCDR &input, TAO_OutputCDR &output, TAO_Transport *transport, TAO_ORB_Core *orb_core) | |
TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base, CORBA::ULong request_id, CORBA::Boolean response_expected, CORBA::Boolean deferred_flag, TAO::ObjectKey &object_key, const char *operation, TAO_OutputCDR &output, TAO_Transport *transport, TAO_ORB_Core *orb_core, int &parse_error) | |
TAO_ServerRequest (TAO_ORB_Core *orb_core, TAO_Operation_Details const &details, CORBA::Object_ptr target) | |
Constructor used by thru-POA collocated invocation path. More... | |
~TAO_ServerRequest (void) | |
Destructor. More... | |
CORBA::ORB_ptr | orb (void) |
Return the underlying ORB. More... | |
TAO_ORB_Core * | orb_core (void) const |
Return the ORB core pointer member. More... | |
void | init_reply (void) |
Start a Reply message. More... | |
TAO_InputCDR * | incoming (void) const |
Retrieve the incoming stream. More... | |
TAO_OutputCDR * | outgoing (void) const |
Retrieve the outgoing stream. More... | |
CORBA::Boolean | response_expected (void) const |
Is the response expected? More... | |
CORBA::Boolean | deferred_reply (void) const |
Should the reply be deferred? More... | |
void | response_expected (CORBA::Boolean response) |
Set the response expected flag. More... | |
CORBA::Boolean | sync_with_server (void) const |
Should we return before dispatching the servant? More... | |
void | sync_with_server (CORBA::Boolean sync_flag) |
Set the sync_with_server flag. More... | |
CORBA::Boolean | is_queued (void) const |
Is the request at risk of being queued? More... | |
void | is_queued (CORBA::Boolean qeueued_flag) |
Set the queued flag. More... | |
void | sync_after_dispatch (void) |
Send a sync reply if needed after _dispatch is called. More... | |
void | sync_before_dispatch (void) |
void | send_no_exception_reply (void) |
Used with reliable oneway requests. More... | |
TAO::ObjectKey & | object_key (void) |
TAO_Service_Context & | request_service_context (void) |
Return the request TAO_Service_Context. More... | |
TAO_Service_Context & | reply_service_context (void) |
Return the reply TAO_Service_Context. More... | |
IOP::ServiceContextList & | reply_service_info (void) |
IOP::ServiceContextList & | request_service_info (void) |
TAO_Transport * | transport () |
Return the underlying transport. More... | |
void | forward_location (CORBA::Object_ptr forward_reference) |
CORBA::Object_ptr | forward_location (void) |
Get the forward_location. More... | |
bool | is_forwarded (void) const |
GIOP::ReplyStatusType | reply_status (void) |
Get the reply status. More... | |
void | reply_status (GIOP::ReplyStatusType except_type) |
Set the reply status. More... | |
void | requesting_principal (const CORBA::OctetSeq &principal) |
Set the requesting principal. More... | |
TAO_Tagged_Profile & | profile (void) |
Return the reference to the tagged profile. More... | |
void | tao_send_reply (void) |
void | tao_send_reply_exception (const CORBA::Exception &ex) |
void | is_dsi (void) |
Set the boolean member to true. More... | |
void | dsi_nvlist_align (ptrdiff_t alignment) |
Set the member. More... | |
TAO_Operation_Details const * | operation_details (void) const |
Get the operation details for the current request. More... | |
void | argument_flag (CORBA::Boolean flag) |
Set the argument_flag. More... | |
CORBA::Boolean | argument_flag (void) |
Get the argument_flag. More... | |
bool | collocated (void) const |
Returns true if the current request is collocated. More... | |
void | send_cached_reply (CORBA::OctetSeq &ocs) |
size_t & | interceptor_count (void) |
TAO::PICurrent_Impl * | rs_pi_current (void) |
Return a reference to the "request scope" PICurrent object. More... | |
CORBA::Exception * | caught_exception (void) |
void | caught_exception (CORBA::Exception *exception) |
void | pi_reply_status (PortableInterceptor::ReplyStatus s) |
Set the status of the received reply. More... | |
PortableInterceptor::ReplyStatus | pi_reply_status (void) |
Get the status of the received reply. More... | |
CORBA::Policy_ptr | clientCompressionEnablingPolicy () |
void | clientCompressionEnablingPolicy (CORBA::Policy_ptr) |
CORBA::Policy_ptr | clientCompressorIdLevelListPolicy () |
void | clientCompressorIdLevelListPolicy (CORBA::Policy_ptr) |
Request attributes. | |
const char * | operation (void) const |
Return the operation name. More... | |
void | operation (const char *operation, size_t length, int release) |
Set the operation name. More... | |
size_t | operation_length (void) const |
Return the length of the operation. More... | |
CORBA::ULong | request_id (void) |
void | request_id (CORBA::ULong req) |
Private Member Functions | |
TAO_ServerRequest (void) | |
Friends | |
class | TAO::CSD::FW_Server_Request_Wrapper |
class | TAO_AMH_Response_Handler |
Declare TAO_AMH_Response_Handler a friend. More... | |
Class representing a ServerRequest object.
Encapsulates CDR, transport and pluggable messaging components on the server side.
TAO_ServerRequest::TAO_ServerRequest | ( | TAO_GIOP_Message_Base * | mesg_base, |
TAO_InputCDR & | input, | ||
TAO_OutputCDR & | output, | ||
TAO_Transport * | transport, | ||
TAO_ORB_Core * | orb_core | ||
) |
TAO_ServerRequest::TAO_ServerRequest | ( | TAO_GIOP_Message_Base * | mesg_base, |
CORBA::ULong | request_id, | ||
CORBA::Boolean | response_expected, | ||
CORBA::Boolean | deferred_flag, | ||
TAO::ObjectKey & | object_key, | ||
const char * | operation, | ||
TAO_OutputCDR & | output, | ||
TAO_Transport * | transport, | ||
TAO_ORB_Core * | orb_core, | ||
int & | parse_error | ||
) |
TAO_ServerRequest::TAO_ServerRequest | ( | TAO_ORB_Core * | orb_core, |
TAO_Operation_Details const & | details, | ||
CORBA::Object_ptr | target | ||
) |
Constructor used by thru-POA collocated invocation path.
TAO_ServerRequest::~TAO_ServerRequest | ( | void | ) |
Destructor.
|
private |
Default ctor only used to create a TAO_ServerRequest that is about to be the target of a clone operation.
void TAO_ServerRequest::argument_flag | ( | CORBA::Boolean | flag | ) |
Set the argument_flag.
CORBA::Boolean TAO_ServerRequest::argument_flag | ( | void | ) |
Get the argument_flag.
CORBA::Exception * TAO_ServerRequest::caught_exception | ( | void | ) |
void TAO_ServerRequest::caught_exception | ( | CORBA::Exception * | exception | ) |
CORBA::Policy_ptr TAO_ServerRequest::clientCompressionEnablingPolicy | ( | ) |
void TAO_ServerRequest::clientCompressionEnablingPolicy | ( | CORBA::Policy_ptr | policy | ) |
CORBA::Policy_ptr TAO_ServerRequest::clientCompressorIdLevelListPolicy | ( | ) |
void TAO_ServerRequest::clientCompressorIdLevelListPolicy | ( | CORBA::Policy_ptr | policy | ) |
bool TAO_ServerRequest::collocated | ( | void | ) | const |
Returns true
if the current request is collocated.
CORBA::Boolean TAO_ServerRequest::deferred_reply | ( | void | ) | const |
Should the reply be deferred?
void TAO_ServerRequest::dsi_nvlist_align | ( | ptrdiff_t | alignment | ) |
Set the member.
void TAO_ServerRequest::forward_location | ( | CORBA::Object_ptr | forward_reference | ) |
Set the reference to the object the request should be forwarded to. This reference will only be used if set prior to calling init_reply().
CORBA::Object_ptr TAO_ServerRequest::forward_location | ( | void | ) |
Get the forward_location.
TAO_InputCDR * TAO_ServerRequest::incoming | ( | void | ) | const |
Retrieve the incoming stream.
void TAO_ServerRequest::init_reply | ( | void | ) |
Start a Reply message.
size_t & TAO_ServerRequest::interceptor_count | ( | void | ) |
Return a reference to the number of interceptors pushed on to the current interceptor flow stack.
void TAO_ServerRequest::is_dsi | ( | void | ) |
Set the boolean member to true.
bool TAO_ServerRequest::is_forwarded | ( | void | ) | const |
Since forward location is allowed to be nil then this is a proper method to check if the request is being forwarded.
CORBA::Boolean TAO_ServerRequest::is_queued | ( | void | ) | const |
Is the request at risk of being queued?
void TAO_ServerRequest::is_queued | ( | CORBA::Boolean | qeueued_flag | ) |
Set the queued flag.
TAO::ObjectKey & TAO_ServerRequest::object_key | ( | void | ) |
const char * TAO_ServerRequest::operation | ( | void | ) | const |
Return the operation name.
void TAO_ServerRequest::operation | ( | const char * | operation, |
size_t | length, | ||
int | release | ||
) |
Set the operation name.
TAO_Operation_Details const * TAO_ServerRequest::operation_details | ( | void | ) | const |
Get the operation details for the current request.
size_t TAO_ServerRequest::operation_length | ( | void | ) | const |
Return the length of the operation.
CORBA::ORB_ptr TAO_ServerRequest::orb | ( | void | ) |
Return the underlying ORB.
TAO_ORB_Core * TAO_ServerRequest::orb_core | ( | void | ) | const |
Return the ORB core pointer member.
TAO_OutputCDR * TAO_ServerRequest::outgoing | ( | void | ) | const |
Retrieve the outgoing stream.
void TAO_ServerRequest::pi_reply_status | ( | PortableInterceptor::ReplyStatus | s | ) |
Set the status of the received reply.
PortableInterceptor::ReplyStatus TAO_ServerRequest::pi_reply_status | ( | void | ) |
Get the status of the received reply.
TAO_Tagged_Profile & TAO_ServerRequest::profile | ( | void | ) |
Return the reference to the tagged profile.
TAO_Service_Context & TAO_ServerRequest::reply_service_context | ( | void | ) |
Return the reply TAO_Service_Context.
IOP::ServiceContextList & TAO_ServerRequest::reply_service_info | ( | void | ) |
GIOP::ReplyStatusType TAO_ServerRequest::reply_status | ( | void | ) |
Get the reply status.
void TAO_ServerRequest::reply_status | ( | GIOP::ReplyStatusType | except_type | ) |
Set the reply status.
CORBA::ULong TAO_ServerRequest::request_id | ( | void | ) |
To handle System Exceptions at the lowest level, a method returning the request_id_ is needed.
void TAO_ServerRequest::request_id | ( | CORBA::ULong | req | ) |
To handle System Exceptions at the lowest level, a method returning the request_id_ is needed.
TAO_Service_Context & TAO_ServerRequest::request_service_context | ( | void | ) |
Return the request TAO_Service_Context.
IOP::ServiceContextList & TAO_ServerRequest::request_service_info | ( | void | ) |
void TAO_ServerRequest::requesting_principal | ( | const CORBA::OctetSeq & | principal | ) |
Set the requesting principal.
CORBA::Boolean TAO_ServerRequest::response_expected | ( | void | ) | const |
Is the response expected?
void TAO_ServerRequest::response_expected | ( | CORBA::Boolean | response | ) |
Set the response expected flag.
TAO::PICurrent_Impl * TAO_ServerRequest::rs_pi_current | ( | void | ) |
Return a reference to the "request scope" PICurrent object.
void TAO_ServerRequest::send_cached_reply | ( | CORBA::OctetSeq & | ocs | ) |
Send cached reply. Used in scenarios where the FTORB thinks that this request is a duplicate
Append reply here....
void TAO_ServerRequest::send_no_exception_reply | ( | void | ) |
Used with reliable oneway requests.
void TAO_ServerRequest::sync_after_dispatch | ( | void | ) |
Send a sync reply if needed after _dispatch is called.
void TAO_ServerRequest::sync_before_dispatch | ( | void | ) |
Send a sync reply if needed before _dispatch is called to avoid possible queuing first.
CORBA::Boolean TAO_ServerRequest::sync_with_server | ( | void | ) | const |
Should we return before dispatching the servant?
void TAO_ServerRequest::sync_with_server | ( | CORBA::Boolean | sync_flag | ) |
Set the sync_with_server flag.
void TAO_ServerRequest::tao_send_reply | ( | void | ) |
void TAO_ServerRequest::tao_send_reply_exception | ( | const CORBA::Exception & | ex | ) |
TAO_Transport * TAO_ServerRequest::transport | ( | void | ) |
Return the underlying transport.
|
friend |
Declare FW_Server_Request_Wrapper a friend This friendship makes the FW_Server_Request_Wrapper be able to clone the TAO_ServerRequest.
|
friend |
Declare TAO_AMH_Response_Handler a friend.
The TAO_AMH_Response_Handler class needs to copy part of the state in a TAO_ServerRequest, however, we do not want to expose that state as public members of this class, neither do we want to add modifiers to the TAO_AMH_Response_Handler class that would allow us (the TAO_ServerRequest class) to set the state.
Lucky for us, C++ is a language for adult developers, and allow us to use the evil "friend" declaration.
|
private |
An argument flag to indicate whether there is any data that is going to get marshaled along as a reply. The default will be true which indicates that we have some data that needs to be sent back to the client.
|
private |
Pointer to the caught exception.
|
private |
|
private |
|
private |
false: Reply would be sent by the object of this class which is the default. true: Reply would not be prepared by this class and it would be deferred for somebody.
|
private |
Used to pad CDR stream if we have used DSI.
|
private |
|
private |
Incoming stream.
|
private |
The number of interceptors pushed on to the current interceptor flow stack.
|
private |
Did we get passed to a CORBA::ServerRequest?
|
private |
|
private |
true: this request is (or may be) queued by the POA false: no POA queuing involved
|
private |
|
private |
Operation name.
|
private |
|
private |
Operation length.
|
private |
A pointer to the ORB Core for the context where the request was created.
|
private |
Outgoing stream.
|
private |
Reply status for the current request.
|
private |
The tagged profile that has the addressing information.
|
private |
Do we own the memory associated with operation_?
|
private |
|
private |
Reply status (will be NO_EXCEPTION in the majority of the cases).
|
private |
Unique identifier for a request.
|
private |
Service Context info.
|
private |
Identifies the requester.
|
private |
false: oneway (SYNC_NONE or SYNC_WITH_TRANSPORT) true: twoway, or oneway (SYNC_WITH_SERVER or SYNC_WITH_TARGET)
|
private |
The "Request Scope Current" (RSC) object, as required by Portable Interceptors.
|
private |
true: oneway (SYNC_WITH_SERVER) false: anything else
|
private |
Transport class. An RAII (resource acquisition is initialization) class instance for interfacing with TSS storage for the "current" transport.