#include <GIOP_Message_Base.h>
Inheritance diagram for TAO_GIOP_Message_Base:
Public Member Functions | |
TAO_GIOP_Message_Base (TAO_ORB_Core *orb_core, size_t input_cdr_size=ACE_CDR::DEFAULT_BUFSIZE) | |
Constructor. | |
virtual | ~TAO_GIOP_Message_Base (void) |
Dtor. | |
virtual void | init (CORBA::Octet major, CORBA::Octet minor) |
virtual void | reset (void) |
Reset the messaging the object. | |
virtual int | generate_request_header (TAO_Operation_Details &op, TAO_Target_Specification &spec, TAO_OutputCDR &cdr) |
virtual int | generate_locate_request_header (TAO_Operation_Details &op, TAO_Target_Specification &spec, TAO_OutputCDR &cdr) |
Write the RequestHeader in to the cdr stream. | |
virtual int | generate_reply_header (TAO_OutputCDR &cdr, TAO_Pluggable_Reply_Params_Base ¶ms) |
Write the reply header. | |
virtual int | read_message (TAO_Transport *transport, int block=0, ACE_Time_Value *max_wait_time=0) |
virtual int | format_message (TAO_OutputCDR &cdr) |
virtual int | parse_incoming_messages (ACE_Message_Block &message_block) |
Parse the incoming messages.. | |
virtual ssize_t | missing_data (ACE_Message_Block &message_block) |
virtual int | extract_next_message (ACE_Message_Block &incoming, TAO_Queued_Data *&qd) |
virtual int | consolidate_node (TAO_Queued_Data *qd, ACE_Message_Block &incoming) |
Check whether the node qd needs consolidation from incoming. | |
virtual void | get_message_data (TAO_Queued_Data *qd) |
Get the details of the message parsed through the qd. | |
virtual int | consolidate_fragments (TAO_Queued_Data *dqd, const TAO_Queued_Data *sqd) |
@Bala:Docu?? | |
virtual int | process_request_message (TAO_Transport *transport, TAO_Queued_Data *qd) |
virtual int | process_reply_message (TAO_Pluggable_Reply_Params &reply_info, TAO_Queued_Data *qd) |
virtual int | generate_exception_reply (TAO_OutputCDR &cdr, TAO_Pluggable_Reply_Params_Base ¶ms, CORBA::Exception &x) |
Generate a reply message with the exception ex. | |
virtual size_t | header_length (void) const |
Header length. | |
virtual TAO_OutputCDR & | out_stream (void) |
Accessor for the output CDR stream. | |
Protected Member Functions | |
int | process_request (TAO_Transport *transport, TAO_InputCDR &input, TAO_OutputCDR &output, TAO_GIOP_Message_Generator_Parser *) |
Processes the GIOP_REQUEST messages. | |
int | process_locate_request (TAO_Transport *transport, TAO_InputCDR &input, TAO_OutputCDR &output, TAO_GIOP_Message_Generator_Parser *) |
Processes the GIOP_LOCATE_REQUEST messages. | |
void | set_state (CORBA::Octet major, CORBA::Octet minor, TAO_GIOP_Message_Generator_Parser *&) |
Set the state. | |
void | dump_msg (const char *label, const u_char *ptr, size_t len) |
Print out a debug messages.. | |
TAO_Pluggable_Message_Type | message_type (TAO_GIOP_Message_State &state) |
Protected Attributes | |
char | buffer_ [ACE_CDR::DEFAULT_BUFSIZE] |
TAO_OutputCDR | out_stream_ |
Buffer where the request is placed. | |
Private Member Functions | |
int | write_protocol_header (TAO_GIOP_Message_Type t, TAO_OutputCDR &msg) |
int | make_send_locate_reply (TAO_Transport *transport, TAO_GIOP_Locate_Request_Header &request, TAO_GIOP_Locate_Status_Msg &status, TAO_OutputCDR &output, TAO_GIOP_Message_Generator_Parser *) |
int | send_error (TAO_Transport *transport) |
Send error messages. | |
void | send_close_connection (const TAO_GIOP_Message_Version &version, TAO_Transport *transport, void *ctx) |
Close a connection, first sending GIOP::CloseConnection. | |
int | send_reply_exception (TAO_Transport *transport, TAO_OutputCDR &cdr, CORBA::ULong request_id, IOP::ServiceContextList *svc_info, CORBA::Exception *x) |
virtual int | generate_locate_reply_header (TAO_OutputCDR &, TAO_Pluggable_Reply_Params_Base &) |
Write the locate reply header. | |
virtual int | is_ready_for_bidirectional (TAO_OutputCDR &msg) |
TAO_Queued_Data * | make_queued_data (size_t sz) |
Private Attributes | |
TAO_ORB_Core * | orb_core_ |
Cached ORB_Core pointer... | |
TAO_GIOP_Message_State | message_state_ |
TAO_GIOP_Message_Generator_Parser_Impl | tao_giop_impl_ |
All the implementations of GIOP message generator and parsers. |
This class will hold the specific details common to all the GIOP versions. Some of them which are here may be shifted if things start changing between versions. This class uses the TAO_GIOP_Message_Reactive_Handler to read and parse messages.
|
Constructor.
|
|
Dtor.
|
|
@Bala:Docu??
Implements TAO_Pluggable_Messaging. |
|
Check whether the node qd needs consolidation from incoming.
Implements TAO_Pluggable_Messaging. |
|
Print out a debug messages..
|
|
Implements TAO_Pluggable_Messaging. |
|
Format the message. As we have not written the message length in the header, we make use of this oppurtunity to insert and format the message. Implements TAO_Pluggable_Messaging. |
|
Generate a reply message with the exception ex.
Implements TAO_Pluggable_Messaging. |
|
Write the locate reply header.
Implements TAO_Pluggable_Messaging. |
|
Write the RequestHeader in to the cdr stream.
Implements TAO_Pluggable_Messaging. |
|
Write the reply header.
Implements TAO_Pluggable_Messaging. |
|
Write the RequestHeader in to the cdr stream. The underlying implementation of the mesaging should do the right thing. Implements TAO_Pluggable_Messaging. |
|
Get the details of the message parsed through the qd.
Implements TAO_Pluggable_Messaging. |
|
Header length.
Implements TAO_Pluggable_Messaging. |
|
Initialize the underlying state object based on the major and minor revision numbers Implements TAO_Pluggable_Messaging. |
|
Is the messaging object ready for processing BiDirectional request/response? Implements TAO_Pluggable_Messaging. |
|
Creates a new node for the queue with a message block in the node of size sz. |
|
Make a GIOP_LOCATEREPLY and hand that over to the transport so that it can be sent over the connection.
|
|
Get the message type. The return value would be one of the following: TAO_PLUGGABLE_MESSAGE_REQUEST, TAO_PLUGGABLE_MESSAGE_REPLY, TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION, TAO_PLUGGABLE_MESSAGE_MESSAGE_ERROR. |
|
Calculate the amount of data that is missing in the <incoming> message block. Implements TAO_Pluggable_Messaging. |
|
Accessor for the output CDR stream.
Implements TAO_Pluggable_Messaging. |
|
Parse the incoming messages..
Implements TAO_Pluggable_Messaging. |
|
Processes the GIOP_LOCATE_REQUEST messages.
|
|
Parse the reply message that we received and return the reply information through reply_info Implements TAO_Pluggable_Messaging. |
|
Processes the GIOP_REQUEST messages.
|
|
Process the request message that we have received on the connection Implements TAO_Pluggable_Messaging. |
|
This method reads the message on the connection. Returns 0 when there is short read on the connection. Returns 1 when the full message is read and handled. Returns -1 on errors. If block is 1, then reply is read in a blocking manner. Implements TAO_Pluggable_Messaging. |
|
Reset the messaging the object.
Implements TAO_Pluggable_Messaging. |
|
Close a connection, first sending GIOP::CloseConnection.
|
|
Send error messages.
|
|
We must send a LocateReply through transport, this request resulted in some kind of exception. |
|
Set the state.
|
|
Writes the GIOP header in to msg
|
|
Buffer used for both the output and input CDR streams, this is "safe" because we only one of the streams at a time. |
|
The message handler object that does reading and parsing of the incoming messages |
|
Cached ORB_Core pointer...
|
|
Buffer where the request is placed.
|
|
All the implementations of GIOP message generator and parsers.
|