#include <TAO_Server_Request.h>
Public Member Functions | |
TAO_ServerRequest (TAO_Pluggable_Messaging *mesg_base, TAO_InputCDR &input, TAO_OutputCDR &output, TAO_Transport *transport, TAO_ORB_Core *orb_core) | |
TAO_ServerRequest (TAO_Pluggable_Messaging *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. | |
CORBA::ULong | exception_type (void) |
Get the exception type. | |
void | exception_type (CORBA::ULong except_type) |
Set the exception type. | |
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 1. | |
void | dsi_nvlist_align (ptrdiff_t alignment) |
Set the member. | |
TAO_Operation_Details const * | operation_details (void) const |
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 | reply_status (PortableInterceptor::ReplyStatus s) |
Set the status of the received reply. | |
PortableInterceptor::ReplyStatus | 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_Pluggable_Messaging * | 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_ |
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? | |
CORBA::ULong | exception_type_ |
Exception type (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 | 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_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ServerRequest::TAO_ServerRequest | ( | TAO_Pluggable_Messaging * | mesg_base, | |
TAO_InputCDR & | input, | |||
TAO_OutputCDR & | output, | |||
TAO_Transport * | transport, | |||
TAO_ORB_Core * | orb_core | |||
) |
TAO_ServerRequest::TAO_ServerRequest | ( | TAO_Pluggable_Messaging * | 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_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_ServerRequest::TAO_ServerRequest | ( | void | ) | [private] |
Default ctor only used to create a TAO_ServerRequest that is about to be the target of a clone operation.
ACE_INLINE const char * TAO_ServerRequest::operation | ( | void | ) | const |
Return the operation name.
ACE_INLINE void TAO_ServerRequest::operation | ( | const char * | operation, | |
size_t | length, | |||
int | release | |||
) |
Set the operation name.
ACE_INLINE 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.
ACE_INLINE TAO_ORB_Core * TAO_ServerRequest::orb_core | ( | void | ) | const |
Return the ORB core pointer member.
void TAO_ServerRequest::init_reply | ( | void | ) |
Start a Reply message.
ACE_INLINE TAO_InputCDR * TAO_ServerRequest::incoming | ( | void | ) | const |
Retrieve the incoming stream.
ACE_INLINE TAO_OutputCDR * TAO_ServerRequest::outgoing | ( | void | ) | const |
Retrieve the outgoing stream.
ACE_INLINE CORBA::Boolean TAO_ServerRequest::response_expected | ( | void | ) | const |
Is the response expected?
ACE_INLINE CORBA::Boolean TAO_ServerRequest::deferred_reply | ( | void | ) | const |
Should the reply be deferred?
ACE_INLINE void TAO_ServerRequest::response_expected | ( | CORBA::Boolean | response | ) |
Set the response expected flag.
ACE_INLINE CORBA::Boolean TAO_ServerRequest::sync_with_server | ( | void | ) | const |
Should we return before dispatching the servant?
ACE_INLINE void TAO_ServerRequest::sync_with_server | ( | CORBA::Boolean | sync_flag | ) |
Set the sync_with_server flag.
void TAO_ServerRequest::send_no_exception_reply | ( | void | ) |
Used with reliable oneway requests.
ACE_INLINE TAO::ObjectKey & TAO_ServerRequest::object_key | ( | void | ) |
ACE_INLINE TAO_Service_Context & TAO_ServerRequest::request_service_context | ( | void | ) |
Return the request TAO_Service_Context.
TAO_Service_Context & TAO_ServerRequest::reply_service_context | ( | void | ) |
Return the reply TAO_Service_Context.
ACE_INLINE IOP::ServiceContextList & TAO_ServerRequest::reply_service_info | ( | void | ) |
ACE_INLINE IOP::ServiceContextList & TAO_ServerRequest::request_service_info | ( | void | ) |
ACE_INLINE TAO_Transport * TAO_ServerRequest::transport | ( | void | ) |
Return the underlying transport.
ACE_INLINE CORBA::ULong TAO_ServerRequest::request_id | ( | void | ) |
To handle System Exceptions at the lowest level, a method returning the request_id_ is needed.
ACE_INLINE void TAO_ServerRequest::request_id | ( | CORBA::ULong | req | ) |
To handle System Exceptions at the lowest level, a method returning the request_id_ is needed.
ACE_INLINE 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().
ACE_INLINE CORBA::Object_ptr TAO_ServerRequest::forward_location | ( | void | ) |
Get the forward_location.
ACE_INLINE CORBA::ULong TAO_ServerRequest::exception_type | ( | void | ) |
Get the exception type.
ACE_INLINE void TAO_ServerRequest::exception_type | ( | CORBA::ULong | except_type | ) |
Set the exception type.
ACE_INLINE void TAO_ServerRequest::requesting_principal | ( | const CORBA::OctetSeq & | principal | ) |
Set the requesting principal.
ACE_INLINE TAO_Tagged_Profile & TAO_ServerRequest::profile | ( | void | ) |
Return the reference to the tagged profile.
void TAO_ServerRequest::tao_send_reply | ( | void | ) |
void TAO_ServerRequest::tao_send_reply_exception | ( | const CORBA::Exception & | ex | ) |
ACE_INLINE void TAO_ServerRequest::is_dsi | ( | void | ) |
Set the boolean member to 1.
ACE_INLINE void TAO_ServerRequest::dsi_nvlist_align | ( | ptrdiff_t | alignment | ) |
Set the member.
ACE_INLINE TAO_Operation_Details const * TAO_ServerRequest::operation_details | ( | void | ) | const |
ACE_INLINE void TAO_ServerRequest::argument_flag | ( | CORBA::Boolean | flag | ) |
Set the argument_flag.
ACE_INLINE CORBA::Boolean TAO_ServerRequest::argument_flag | ( | void | ) |
Get the argument_flag.
ACE_INLINE bool TAO_ServerRequest::collocated | ( | void | ) | const |
Returns true
if the current request is collocated.
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....
ACE_INLINE size_t & TAO_ServerRequest::interceptor_count | ( | void | ) |
Return a reference to the number of interceptors pushed on to the current interceptor flow stack.
TAO::PICurrent_Impl * TAO_ServerRequest::rs_pi_current | ( | void | ) |
Return a reference to the "request scope" PICurrent object.
ACE_INLINE CORBA::Exception * TAO_ServerRequest::caught_exception | ( | void | ) |
void TAO_ServerRequest::caught_exception | ( | CORBA::Exception * | exception | ) |
ACE_INLINE void TAO_ServerRequest::reply_status | ( | PortableInterceptor::ReplyStatus | s | ) |
Set the status of the received reply.
ACE_INLINE PortableInterceptor::ReplyStatus TAO_ServerRequest::reply_status | ( | void | ) |
Get the status of the received reply.
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.
const char* TAO_ServerRequest::operation_ [private] |
Operation name.
size_t TAO_ServerRequest::operation_len_ [private] |
Operation length.
bool TAO_ServerRequest::release_operation_ [private] |
Do we own the memory associated with operation_?
TAO_InputCDR* TAO_ServerRequest::incoming_ [private] |
Incoming stream.
TAO_OutputCDR* TAO_ServerRequest::outgoing_ [private] |
Outgoing stream.
false: oneway (SYNC_NONE or SYNC_WITH_TRANSPORT) true: twoway, or oneway (SYNC_WITH_SERVER or SYNC_WITH_TARGET)
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.
true: oneway (SYNC_WITH_SERVER) false: anything else
CORBA::Boolean TAO_ServerRequest::is_dsi_ [private] |
Did we get passed to a CORBA::ServerRequest?
Exception type (will be NO_EXCEPTION in the majority of the cases).
TAO_ORB_Core* TAO_ServerRequest::orb_core_ [private] |
A pointer to the ORB Core for the context where the request was created.
Service Context info.
CORBA::ULong TAO_ServerRequest::request_id_ [private] |
Unique identifier for a request.
The tagged profile that has the addressing information.
CORBA::OctetSeq_var TAO_ServerRequest::requesting_principal_ [private] |
Identifies the requester.
ptrdiff_t TAO_ServerRequest::dsi_nvlist_align_ [private] |
Used to pad CDR stream if we have used DSI.
TAO_Operation_Details const* TAO_ServerRequest::operation_details_ [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 1 which indicates that we have some data that needs to be sent back to the client.
size_t TAO_ServerRequest::interceptor_count_ [private] |
The number of interceptors pushed on to the current interceptor flow stack.
TAO::PICurrent_Impl* TAO_ServerRequest::rs_pi_current_ [private] |
The "Request Scope Current" (RSC) object, as required by Portable Interceptors.
Pointer to the caught exception.
Reply status for the current request.
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.