#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. | |
~TAO_ServerRequest (void) | |
Destructor. | |
CORBA::ORB_ptr | orb (void) |
Return the underlying ORB. | |
TAO_ORB_Core * | orb_core (void) const |
Return the ORB core pointer member. | |
void | init_reply (void) |
Start a Reply message. | |
TAO_InputCDR * | incoming (void) const |
Retrieve the incoming stream. | |
TAO_OutputCDR * | outgoing (void) const |
Retrieve the outgoing stream. | |
CORBA::Boolean | response_expected (void) const |
Is the response expected? | |
CORBA::Boolean | deferred_reply (void) const |
Should the reply be deferred? | |
void | response_expected (CORBA::Boolean response) |
Set the response expected flag. | |
CORBA::Boolean | sync_with_server (void) const |
Should we return before dispatching the servant? | |
void | sync_with_server (CORBA::Boolean sync_flag) |
Set the sync_with_server flag. | |
void | send_no_exception_reply (void) |
Used with reliable oneway requests. | |
TAO::ObjectKey & | object_key (void) |
TAO_Service_Context & | request_service_context (void) |
Return the request TAO_Service_Context. | |
TAO_Service_Context & | reply_service_context (void) |
Return the reply TAO_Service_Context. | |
IOP::ServiceContextList & | reply_service_info (void) |
IOP::ServiceContextList & | request_service_info (void) |
TAO_Transport * | transport () |
Return the underlying transport. | |
void | forward_location (CORBA::Object_ptr forward_reference) |
CORBA::Object_ptr | forward_location (void) |
Get the forward_location. | |
bool | is_forwarded (void) const |
GIOP::ReplyStatusType | reply_status (void) |
Get the reply status. | |
void | reply_status (GIOP::ReplyStatusType except_type) |
Set the reply status. | |
void | requesting_principal (const CORBA::OctetSeq &principal) |
Set the requesting principal. | |
TAO_Tagged_Profile & | profile (void) |
Return the reference to the tagged profile. | |
void | tao_send_reply (void) |
void | tao_send_reply_exception (const CORBA::Exception &ex) |
void | is_dsi (void) |
Set the boolean member to true. | |
void | dsi_nvlist_align (ptrdiff_t alignment) |
Set the member. | |
TAO_Operation_Details const * | operation_details (void) const |
Get the operation details for the current request. | |
void | argument_flag (CORBA::Boolean flag) |
Set the argument_flag. | |
CORBA::Boolean | argument_flag (void) |
Get the argument_flag. | |
bool | collocated (void) const |
Returns true if the current request is collocated. | |
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. | |
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. | |
PortableInterceptor::ReplyStatus | pi_reply_status (void) |
Get the status of the received reply. | |
Request attributes. | |
const char * | operation (void) const |
Return the operation name. | |
void | operation (const char *operation, size_t length, int release) |
Set the operation name. | |
size_t | operation_length (void) const |
Return the length of the operation. | |
CORBA::ULong | request_id (void) |
void | request_id (CORBA::ULong req) |
Private Member Functions | |
TAO_ServerRequest (void) | |
Private Attributes | |
TAO_GIOP_Message_Base * | mesg_base_ |
const char * | operation_ |
Operation name. | |
size_t | operation_len_ |
Operation length. | |
bool | release_operation_ |
Do we own the memory associated with operation_? | |
CORBA::Object_var | forward_location_ |
bool | is_forwarded_ |
TAO_InputCDR * | incoming_ |
Incoming stream. | |
TAO_OutputCDR * | outgoing_ |
Outgoing stream. | |
CORBA::Boolean | response_expected_ |
CORBA::Boolean | deferred_reply_ |
CORBA::Boolean | sync_with_server_ |
CORBA::Boolean | is_dsi_ |
Did we get passed to a CORBA::ServerRequest? | |
GIOP::ReplyStatusType | reply_status_ |
Reply status (will be NO_EXCEPTION in the majority of the cases). | |
TAO_ORB_Core * | orb_core_ |
TAO_Service_Context | request_service_context_ |
Service Context info. | |
TAO_Service_Context | reply_service_context_ |
CORBA::ULong | request_id_ |
Unique identifier for a request. | |
TAO_Tagged_Profile | profile_ |
The tagged profile that has the addressing information. | |
CORBA::OctetSeq_var | requesting_principal_ |
Identifies the requester. | |
ptrdiff_t | dsi_nvlist_align_ |
Used to pad CDR stream if we have used DSI. | |
TAO_Operation_Details const * | operation_details_ |
CORBA::Boolean | argument_flag_ |
size_t | interceptor_count_ |
TAO::PICurrent_Impl * | rs_pi_current_ |
CORBA::Exception * | caught_exception_ |
Pointer to the caught exception. | |
PortableInterceptor::ReplyStatus | pi_reply_status_ |
Reply status for the current request. | |
TAO::Transport_Selection_Guard | transport_ |
Friends | |
class | TAO::CSD::FW_Server_Request_Wrapper |
class | TAO_AMH_Response_Handler |
Declare TAO_AMH_Response_Handler a friend. |
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.
TAO_ServerRequest::TAO_ServerRequest | ( | void | ) | [inline, private] |
Default ctor only used to create a TAO_ServerRequest that is about to be the target of a clone operation.
CORBA::Boolean TAO_ServerRequest::argument_flag | ( | void | ) | [inline] |
Get the argument_flag.
void TAO_ServerRequest::argument_flag | ( | CORBA::Boolean | flag | ) | [inline] |
Set the argument_flag.
void TAO_ServerRequest::caught_exception | ( | CORBA::Exception * | exception | ) |
CORBA::Exception * TAO_ServerRequest::caught_exception | ( | void | ) | [inline] |
bool TAO_ServerRequest::collocated | ( | void | ) | const [inline] |
Returns true
if the current request is collocated.
CORBA::Boolean TAO_ServerRequest::deferred_reply | ( | void | ) | const [inline] |
Should the reply be deferred?
void TAO_ServerRequest::dsi_nvlist_align | ( | ptrdiff_t | alignment | ) | [inline] |
Set the member.
CORBA::Object_ptr TAO_ServerRequest::forward_location | ( | void | ) | [inline] |
Get the forward_location.
void TAO_ServerRequest::forward_location | ( | CORBA::Object_ptr | forward_reference | ) | [inline] |
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().
TAO_InputCDR * TAO_ServerRequest::incoming | ( | void | ) | const [inline] |
Retrieve the incoming stream.
void TAO_ServerRequest::init_reply | ( | void | ) |
Start a Reply message.
size_t & TAO_ServerRequest::interceptor_count | ( | void | ) | [inline] |
Return a reference to the number of interceptors pushed on to the current interceptor flow stack.
void TAO_ServerRequest::is_dsi | ( | void | ) | [inline] |
Set the boolean member to true.
bool TAO_ServerRequest::is_forwarded | ( | void | ) | const [inline] |
Since forward location is allowed to be nil then this is a proper method to check if the request is being forwarded.
TAO::ObjectKey & TAO_ServerRequest::object_key | ( | void | ) | [inline] |
void TAO_ServerRequest::operation | ( | const char * | operation, | |
size_t | length, | |||
int | release | |||
) | [inline] |
Set the operation name.
const char * TAO_ServerRequest::operation | ( | void | ) | const [inline] |
Return the operation name.
TAO_Operation_Details const * TAO_ServerRequest::operation_details | ( | void | ) | const [inline] |
Get the operation details for the current request.
size_t TAO_ServerRequest::operation_length | ( | void | ) | const [inline] |
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 [inline] |
Return the ORB core pointer member.
TAO_OutputCDR * TAO_ServerRequest::outgoing | ( | void | ) | const [inline] |
Retrieve the outgoing stream.
PortableInterceptor::ReplyStatus TAO_ServerRequest::pi_reply_status | ( | void | ) | [inline] |
Get the status of the received reply.
void TAO_ServerRequest::pi_reply_status | ( | PortableInterceptor::ReplyStatus | s | ) | [inline] |
Set the status of the received reply.
TAO_Tagged_Profile & TAO_ServerRequest::profile | ( | void | ) | [inline] |
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 | ) | [inline] |
void TAO_ServerRequest::reply_status | ( | GIOP::ReplyStatusType | except_type | ) | [inline] |
Set the reply status.
GIOP::ReplyStatusType TAO_ServerRequest::reply_status | ( | void | ) | [inline] |
Get the reply status.
void TAO_ServerRequest::request_id | ( | CORBA::ULong | req | ) | [inline] |
To handle System Exceptions at the lowest level, a method returning the request_id_ is needed.
CORBA::ULong TAO_ServerRequest::request_id | ( | void | ) | [inline] |
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 | ) | [inline] |
Return the request TAO_Service_Context.
IOP::ServiceContextList & TAO_ServerRequest::request_service_info | ( | void | ) | [inline] |
void TAO_ServerRequest::requesting_principal | ( | const CORBA::OctetSeq & | principal | ) | [inline] |
Set the requesting principal.
void TAO_ServerRequest::response_expected | ( | CORBA::Boolean | response | ) | [inline] |
Set the response expected flag.
CORBA::Boolean TAO_ServerRequest::response_expected | ( | void | ) | const [inline] |
Is the response expected?
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_with_server | ( | CORBA::Boolean | sync_flag | ) | [inline] |
Set the sync_with_server flag.
CORBA::Boolean TAO_ServerRequest::sync_with_server | ( | void | ) | const [inline] |
Should we return before dispatching the servant?
void TAO_ServerRequest::tao_send_reply | ( | void | ) |
void TAO_ServerRequest::tao_send_reply_exception | ( | const CORBA::Exception & | ex | ) |
TAO_Transport * TAO_ServerRequest::transport | ( | void | ) | [inline] |
Return the underlying transport.
friend class TAO::CSD::FW_Server_Request_Wrapper [friend] |
Declare FW_Server_Request_Wrapper a friend This friendship makes the FW_Server_Request_Wrapper be able to clone the TAO_ServerRequest.
friend class TAO_AMH_Response_Handler [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.
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.
Pointer to the caught exception.
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.
ptrdiff_t TAO_ServerRequest::dsi_nvlist_align_ [private] |
Used to pad CDR stream if we have used DSI.
TAO_InputCDR* TAO_ServerRequest::incoming_ [private] |
Incoming stream.
size_t TAO_ServerRequest::interceptor_count_ [private] |
The number of interceptors pushed on to the current interceptor flow stack.
CORBA::Boolean TAO_ServerRequest::is_dsi_ [private] |
Did we get passed to a CORBA::ServerRequest?
bool TAO_ServerRequest::is_forwarded_ [private] |
const char* TAO_ServerRequest::operation_ [private] |
Operation name.
TAO_Operation_Details const* TAO_ServerRequest::operation_details_ [private] |
size_t TAO_ServerRequest::operation_len_ [private] |
Operation length.
TAO_ORB_Core* TAO_ServerRequest::orb_core_ [private] |
A pointer to the ORB Core for the context where the request was created.
TAO_OutputCDR* TAO_ServerRequest::outgoing_ [private] |
Outgoing stream.
Reply status for the current request.
The tagged profile that has the addressing information.
bool TAO_ServerRequest::release_operation_ [private] |
Do we own the memory associated with operation_?
GIOP::ReplyStatusType TAO_ServerRequest::reply_status_ [private] |
Reply status (will be NO_EXCEPTION in the majority of the cases).
CORBA::ULong TAO_ServerRequest::request_id_ [private] |
Unique identifier for a request.
Service Context info.
CORBA::OctetSeq_var TAO_ServerRequest::requesting_principal_ [private] |
Identifies the requester.
false: oneway (SYNC_NONE or SYNC_WITH_TRANSPORT) true: twoway, or oneway (SYNC_WITH_SERVER or SYNC_WITH_TARGET)
TAO::PICurrent_Impl* TAO_ServerRequest::rs_pi_current_ [private] |
The "Request Scope Current" (RSC) object, as required by Portable Interceptors.
true: oneway (SYNC_WITH_SERVER) false: anything else
TAO::Transport_Selection_Guard TAO_ServerRequest::transport_ [private] |
Transport class. An RAII (resource acquisition is initialization) class instance for interfacing with TSS storage for the "current" transport.