TAO 4.0.1
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
TAO_ServerRequest Class Reference

Class representing a ServerRequest object. More...

#include <TAO_Server_Request.h>

Collaboration diagram for TAO_ServerRequest:
Collaboration graph
[legend]

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 ()
 Destructor.
 

Friends

class TAO::CSD::FW_Server_Request_Wrapper
 
class TAO_AMH_Response_Handler
 Declare TAO_AMH_Response_Handler a friend.
 

Request attributes.

TAO_GIOP_Message_Basemesg_base_
 Operation name.
 
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_
 Operation name.
 
bool is_forwarded_
 Operation name.
 
TAO_InputCDRincoming_
 Incoming stream.
 
TAO_OutputCDRoutgoing_
 Outgoing stream.
 
CORBA::Boolean response_expected_
 
CORBA::Boolean deferred_reply_
 
CORBA::Boolean sync_with_server_
 
CORBA::Boolean is_queued_
 
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_Coreorb_core_
 
TAO_Service_Context request_service_context_
 Service Context info.
 
TAO_Service_Context reply_service_context_
 Operation name.
 
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_
 Operation name.
 
CORBA::Boolean argument_flag_
 
TAO::Transport_Selection_Guard transport_
 
const char * operation () const
 Return the operation name.
 
void operation (const char *operation, size_t length, int release)
 Set the operation name.
 
size_t operation_length () const
 Return the length of the operation.
 
CORBA::ORB_ptr orb ()
 Return the underlying ORB.
 
TAO_ORB_Coreorb_core () const
 Return the ORB core pointer member.
 
void init_reply ()
 Start a Reply message.
 
TAO_InputCDRincoming () const
 Retrieve the incoming stream.
 
TAO_OutputCDRoutgoing () const
 Retrieve the outgoing stream.
 
CORBA::Boolean response_expected () const
 Is the response expected?
 
CORBA::Boolean deferred_reply () const
 Should the reply be deferred?
 
void response_expected (CORBA::Boolean response)
 Set the response expected flag.
 
CORBA::Boolean sync_with_server () const
 Should we return before dispatching the servant?
 
void sync_with_server (CORBA::Boolean sync_flag)
 Set the sync_with_server flag.
 
CORBA::Boolean is_queued () const
 Is the request at risk of being queued?
 
void is_queued (CORBA::Boolean qeueued_flag)
 Set the queued flag.
 
void sync_after_dispatch ()
 Send a sync reply if needed after _dispatch is called.
 
void sync_before_dispatch ()
 
void send_no_exception_reply ()
 Used with reliable oneway requests.
 
TAO::ObjectKeyobject_key ()
 Operation name.
 
TAO_Service_Contextrequest_service_context ()
 Return the request TAO_Service_Context.
 
TAO_Service_Contextreply_service_context ()
 Return the reply TAO_Service_Context.
 
IOP::ServiceContextListreply_service_info ()
 Operation name.
 
IOP::ServiceContextListrequest_service_info ()
 Operation name.
 
TAO_Transporttransport ()
 Return the underlying transport.
 
CORBA::ULong request_id ()
 
void request_id (CORBA::ULong req)
 Operation name.
 
void forward_location (CORBA::Object_ptr forward_reference)
 
CORBA::Object_ptr forward_location ()
 Get the forward_location.
 
bool is_forwarded () const
 
GIOP::ReplyStatusType reply_status ()
 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_Profileprofile ()
 Return the reference to the tagged profile.
 
void tao_send_reply ()
 Operation name.
 
void tao_send_reply_exception (const CORBA::Exception &ex)
 Operation name.
 
void is_dsi ()
 Set the boolean member to true.
 
void dsi_nvlist_align (ptrdiff_t alignment)
 Set the member.
 
TAO_Operation_Details const * operation_details () const
 Get the operation details for the current request.
 
void argument_flag (CORBA::Boolean flag)
 Set the argument_flag.
 
CORBA::Boolean argument_flag ()
 Get the argument_flag.
 
bool collocated () const
 Returns true if the current request is collocated.
 
 TAO_ServerRequest ()
 

Detailed Description

Class representing a ServerRequest object.

Encapsulates CDR, transport and pluggable messaging components on the server side.

Constructor & Destructor Documentation

◆ TAO_ServerRequest() [1/4]

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() [2/4]

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() [3/4]

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::~TAO_ServerRequest ( )

Destructor.

◆ TAO_ServerRequest() [4/4]

TAO_ServerRequest::TAO_ServerRequest ( )
private

Default ctor only used to create a TAO_ServerRequest that is about to be the target of a clone operation.

Member Function Documentation

◆ argument_flag() [1/2]

CORBA::Boolean TAO_ServerRequest::argument_flag ( )

Get the argument_flag.

◆ argument_flag() [2/2]

void TAO_ServerRequest::argument_flag ( CORBA::Boolean flag)

Set the argument_flag.

◆ collocated()

bool TAO_ServerRequest::collocated ( ) const

Returns true if the current request is collocated.

◆ deferred_reply()

CORBA::Boolean TAO_ServerRequest::deferred_reply ( ) const

Should the reply be deferred?

◆ dsi_nvlist_align()

void TAO_ServerRequest::dsi_nvlist_align ( ptrdiff_t alignment)

Set the member.

◆ forward_location() [1/2]

CORBA::Object_ptr TAO_ServerRequest::forward_location ( )

Get the forward_location.

◆ forward_location() [2/2]

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().

◆ incoming()

TAO_InputCDR * TAO_ServerRequest::incoming ( ) const

Retrieve the incoming stream.

◆ init_reply()

void TAO_ServerRequest::init_reply ( )

Start a Reply message.

◆ is_dsi()

void TAO_ServerRequest::is_dsi ( )

Set the boolean member to true.

◆ is_forwarded()

bool TAO_ServerRequest::is_forwarded ( ) const

Since forward location is allowed to be nil then this is a proper method to check if the request is being forwarded.

◆ is_queued() [1/2]

CORBA::Boolean TAO_ServerRequest::is_queued ( ) const

Is the request at risk of being queued?

◆ is_queued() [2/2]

void TAO_ServerRequest::is_queued ( CORBA::Boolean qeueued_flag)

Set the queued flag.

◆ object_key()

TAO::ObjectKey & TAO_ServerRequest::object_key ( )

Operation name.

◆ operation() [1/2]

const char * TAO_ServerRequest::operation ( ) const

Return the operation name.

◆ operation() [2/2]

void TAO_ServerRequest::operation ( const char * operation,
size_t length,
int release )

Set the operation name.

◆ operation_details()

TAO_Operation_Details const * TAO_ServerRequest::operation_details ( ) const

Get the operation details for the current request.

◆ operation_length()

size_t TAO_ServerRequest::operation_length ( ) const

Return the length of the operation.

◆ orb()

CORBA::ORB_ptr TAO_ServerRequest::orb ( )

Return the underlying ORB.

◆ orb_core()

TAO_ORB_Core * TAO_ServerRequest::orb_core ( ) const

Return the ORB core pointer member.

◆ outgoing()

TAO_OutputCDR * TAO_ServerRequest::outgoing ( ) const

Retrieve the outgoing stream.

◆ profile()

TAO_Tagged_Profile & TAO_ServerRequest::profile ( )

Return the reference to the tagged profile.

◆ reply_service_context()

TAO_Service_Context & TAO_ServerRequest::reply_service_context ( )

Return the reply TAO_Service_Context.

◆ reply_service_info()

IOP::ServiceContextList & TAO_ServerRequest::reply_service_info ( )

Operation name.

◆ reply_status() [1/2]

GIOP::ReplyStatusType TAO_ServerRequest::reply_status ( )

Get the reply status.

◆ reply_status() [2/2]

void TAO_ServerRequest::reply_status ( GIOP::ReplyStatusType except_type)

Set the reply status.

◆ request_id() [1/2]

CORBA::ULong TAO_ServerRequest::request_id ( )

To handle System Exceptions at the lowest level, a method returning the request_id_ is needed.

◆ request_id() [2/2]

void TAO_ServerRequest::request_id ( CORBA::ULong req)

Operation name.

◆ request_service_context()

TAO_Service_Context & TAO_ServerRequest::request_service_context ( )

Return the request TAO_Service_Context.

◆ request_service_info()

IOP::ServiceContextList & TAO_ServerRequest::request_service_info ( )

Operation name.

◆ requesting_principal()

void TAO_ServerRequest::requesting_principal ( const CORBA::OctetSeq & principal)

Set the requesting principal.

◆ response_expected() [1/2]

CORBA::Boolean TAO_ServerRequest::response_expected ( ) const

Is the response expected?

◆ response_expected() [2/2]

void TAO_ServerRequest::response_expected ( CORBA::Boolean response)

Set the response expected flag.

◆ send_no_exception_reply()

void TAO_ServerRequest::send_no_exception_reply ( )

Used with reliable oneway requests.

◆ sync_after_dispatch()

void TAO_ServerRequest::sync_after_dispatch ( )

Send a sync reply if needed after _dispatch is called.

◆ sync_before_dispatch()

void TAO_ServerRequest::sync_before_dispatch ( )

Send a sync reply if needed before _dispatch is called to avoid possible queuing first.

◆ sync_with_server() [1/2]

CORBA::Boolean TAO_ServerRequest::sync_with_server ( ) const

Should we return before dispatching the servant?

◆ sync_with_server() [2/2]

void TAO_ServerRequest::sync_with_server ( CORBA::Boolean sync_flag)

Set the sync_with_server flag.

◆ tao_send_reply()

void TAO_ServerRequest::tao_send_reply ( )

Operation name.

◆ tao_send_reply_exception()

void TAO_ServerRequest::tao_send_reply_exception ( const CORBA::Exception & ex)

Operation name.

◆ transport()

TAO_Transport * TAO_ServerRequest::transport ( )

Return the underlying transport.

Friends And Related Symbol Documentation

◆ TAO::CSD::FW_Server_Request_Wrapper

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.

◆ TAO_AMH_Response_Handler

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.

Member Data Documentation

◆ argument_flag_

CORBA::Boolean TAO_ServerRequest::argument_flag_
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.

◆ deferred_reply_

CORBA::Boolean TAO_ServerRequest::deferred_reply_
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.

◆ dsi_nvlist_align_

ptrdiff_t TAO_ServerRequest::dsi_nvlist_align_
private

Used to pad CDR stream if we have used DSI.

◆ forward_location_

CORBA::Object_var TAO_ServerRequest::forward_location_
private

Operation name.

◆ incoming_

TAO_InputCDR* TAO_ServerRequest::incoming_
private

Incoming stream.

◆ is_dsi_

CORBA::Boolean TAO_ServerRequest::is_dsi_
private

Did we get passed to a CORBA::ServerRequest?

◆ is_forwarded_

bool TAO_ServerRequest::is_forwarded_
private

Operation name.

◆ is_queued_

CORBA::Boolean TAO_ServerRequest::is_queued_
private

true: this request is (or may be) queued by the POA false: no POA queuing involved

◆ mesg_base_

TAO_GIOP_Message_Base* TAO_ServerRequest::mesg_base_
private

Operation name.

◆ operation_

const char* TAO_ServerRequest::operation_
private

Operation name.

◆ operation_details_

TAO_Operation_Details const* TAO_ServerRequest::operation_details_
private

Operation name.

◆ operation_len_

size_t TAO_ServerRequest::operation_len_
private

Operation length.

◆ orb_core_

TAO_ORB_Core* TAO_ServerRequest::orb_core_
private

A pointer to the ORB Core for the context where the request was created.

◆ outgoing_

TAO_OutputCDR* TAO_ServerRequest::outgoing_
private

Outgoing stream.

◆ profile_

TAO_Tagged_Profile TAO_ServerRequest::profile_
private

The tagged profile that has the addressing information.

◆ release_operation_

bool TAO_ServerRequest::release_operation_
private

Do we own the memory associated with operation_?

◆ reply_service_context_

TAO_Service_Context TAO_ServerRequest::reply_service_context_
private

Operation name.

◆ reply_status_

GIOP::ReplyStatusType TAO_ServerRequest::reply_status_
private

Reply status (will be NO_EXCEPTION in the majority of the cases).

◆ request_id_

CORBA::ULong TAO_ServerRequest::request_id_
private

Unique identifier for a request.

◆ request_service_context_

TAO_Service_Context TAO_ServerRequest::request_service_context_
private

Service Context info.

◆ requesting_principal_

CORBA::OctetSeq_var TAO_ServerRequest::requesting_principal_
private

Identifies the requester.

◆ response_expected_

CORBA::Boolean TAO_ServerRequest::response_expected_
private

false: oneway (SYNC_NONE or SYNC_WITH_TRANSPORT) true: twoway, or oneway (SYNC_WITH_SERVER or SYNC_WITH_TARGET)

◆ sync_with_server_

CORBA::Boolean TAO_ServerRequest::sync_with_server_
private

true: oneway (SYNC_WITH_SERVER) false: anything else

◆ transport_

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.


The documentation for this class was generated from the following files: