#include <TAO_Server_Request.h>
Collaboration diagram for TAO_ServerRequest:
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 (CORBA::Exception &) |
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) |
void | result_seq (CORBA::OctetSeq &ocs) |
int | got_result (void) |
Check whether we got the result. | |
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. | |
TAO_Transport * | transport_ |
Transport class. | |
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::OctetSeq_var | result_seq_ |
Used by the FTORB. | |
CORBA::Exception * | caught_exception_ |
Pointer to the caught exception. | |
PortableInterceptor::ReplyStatus | reply_status_ |
Reply status for the current request. | |
TAO::Transport_Selection_Guard | transport_selection_guard_ |
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 CORBA::Boolean TAO_ServerRequest::argument_flag | ( | void | ) |
Get the argument_flag.
ACE_INLINE void TAO_ServerRequest::argument_flag | ( | CORBA::Boolean | flag | ) |
Set the argument_flag.
void TAO_ServerRequest::caught_exception | ( | CORBA::Exception * | exception | ) |
ACE_INLINE CORBA::Exception * TAO_ServerRequest::caught_exception | ( | void | ) |
ACE_INLINE bool TAO_ServerRequest::collocated | ( | void | ) | const |
Returns true
if the current request is collocated.
ACE_INLINE CORBA::Boolean TAO_ServerRequest::deferred_reply | ( | void | ) | const |
Should the reply be deferred?
ACE_INLINE void TAO_ServerRequest::dsi_nvlist_align | ( | ptrdiff_t | alignment | ) |
Set the member.
ACE_INLINE void TAO_ServerRequest::exception_type | ( | CORBA::ULong | except_type | ) |
Set the exception type.
ACE_INLINE CORBA::ULong TAO_ServerRequest::exception_type | ( | void | ) |
Get the exception type.
ACE_INLINE CORBA::Object_ptr TAO_ServerRequest::forward_location | ( | void | ) |
Get the forward_location.
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 int TAO_ServerRequest::got_result | ( | void | ) |
Check whether we got the result.
ACE_INLINE TAO_InputCDR * TAO_ServerRequest::incoming | ( | void | ) | const |
Retrieve the incoming stream.
void TAO_ServerRequest::init_reply | ( | void | ) |
Start a Reply message.
ACE_INLINE size_t & TAO_ServerRequest::interceptor_count | ( | void | ) |
ACE_INLINE void TAO_ServerRequest::is_dsi | ( | void | ) |
Set the boolean member to 1.
ACE_INLINE TAO::ObjectKey & TAO_ServerRequest::object_key | ( | void | ) |
ACE_INLINE void TAO_ServerRequest::operation | ( | const char * | operation, | |
size_t | length, | |||
int | release | |||
) |
Set the operation name.
ACE_INLINE const char * TAO_ServerRequest::operation | ( | void | ) | const |
Return the operation name.
ACE_INLINE TAO_Operation_Details const * TAO_ServerRequest::operation_details | ( | void | ) | const |
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.
ACE_INLINE TAO_OutputCDR * TAO_ServerRequest::outgoing | ( | void | ) | const |
Retrieve the outgoing stream.
ACE_INLINE 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.
ACE_INLINE IOP::ServiceContextList & TAO_ServerRequest::reply_service_info | ( | void | ) |
ACE_INLINE PortableInterceptor::ReplyStatus TAO_ServerRequest::reply_status | ( | void | ) |
Get the status of the received reply.
ACE_INLINE void TAO_ServerRequest::reply_status | ( | PortableInterceptor::ReplyStatus | s | ) |
Set the status of the received reply.
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 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 TAO_Service_Context & TAO_ServerRequest::request_service_context | ( | void | ) |
Return the request TAO_Service_Context.
ACE_INLINE IOP::ServiceContextList & TAO_ServerRequest::request_service_info | ( | void | ) |
ACE_INLINE void TAO_ServerRequest::requesting_principal | ( | const CORBA::OctetSeq & | principal | ) |
Set the requesting principal.
ACE_INLINE void TAO_ServerRequest::response_expected | ( | CORBA::Boolean | response | ) |
Set the response expected flag.
ACE_INLINE CORBA::Boolean TAO_ServerRequest::response_expected | ( | void | ) | const |
Is the response expected?
ACE_INLINE void TAO_ServerRequest::result_seq | ( | CORBA::OctetSeq & | ocs | ) |
Return the octet sequence pointer through which the FTORB would send the reply back.
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.
ACE_INLINE void TAO_ServerRequest::sync_with_server | ( | CORBA::Boolean | sync_flag | ) |
Set the sync_with_server flag.
ACE_INLINE CORBA::Boolean TAO_ServerRequest::sync_with_server | ( | void | ) | const |
Should we return before dispatching the servant?
void TAO_ServerRequest::tao_send_reply | ( | void | ) |
void TAO_ServerRequest::tao_send_reply_exception | ( | CORBA::Exception & | ) |
ACE_INLINE TAO_Transport * TAO_ServerRequest::transport | ( | ) |
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 1 which indicates that we have some data that needs to be sent back to the client.
Pointer to the caught exception.
0: Reply would be sent by the object of this class which is the default. 1: 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.
Exception type (will be NO_EXCEPTION in the majority of the cases).
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?
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.
The tagged profile that has the addressing information.
bool TAO_ServerRequest::release_operation_ [private] |
Do we own the memory associated with operation_?
Reply status for the current request.
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.
0: oneway (SYNC_NONE or SYNC_WITH_TRANSPORT) 1: twoway, or oneway (SYNC_WITH_SERVER or SYNC_WITH_TARGET)
CORBA::OctetSeq_var TAO_ServerRequest::result_seq_ [private] |
Used by the FTORB.
TAO::PICurrent_Impl* TAO_ServerRequest::rs_pi_current_ [private] |
The "Request Scope Current" (RSC) object, as required by Portable Interceptors.
1: oneway (SYNC_WITH_SERVER) 0: anything else
TAO_Transport* TAO_ServerRequest::transport_ [private] |
Transport class.
TAO::Transport_Selection_Guard TAO_ServerRequest::transport_selection_guard_ [private] |
An RAII (resource acquisition is initialization) class instance for interfacing with TSS storage for the "current" transport.