#include <GIOP_Message_Lite.h>
Inheritance diagram for TAO_GIOP_Message_Lite:
Public Methods | |
TAO_GIOP_Message_Lite (TAO_ORB_Core *orb_core, size_t input_cdr_size=ACE_CDR::DEFAULT_BUFSIZE) | |
Constructor. | |
virtual | ~TAO_GIOP_Message_Lite (void) |
Dtor. | |
virtual void | init (CORBA::Octet, CORBA::Octet) |
Initialize the object -- this is a dummy for GIOPlite. | |
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) |
Dummy method to .. | |
virtual int | format_message (TAO_OutputCDR &cdr) |
virtual int | parse_incoming_messages (ACE_Message_Block &message_block) |
Parse the incoming messages.. | |
TAO_Pluggable_Message_Type | message_type (void) |
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>. | |
Private Methods | |
int | write_protocol_header (TAO_GIOP_Message_Type t, TAO_OutputCDR &msg) |
int | process_request (TAO_Transport *transport, TAO_InputCDR &input, TAO_OutputCDR &output) |
Processes the <GIOP_REQUEST> messages. | |
int | process_locate_request (TAO_Transport *transport, TAO_InputCDR &input, TAO_OutputCDR &output) |
Processes the <GIOP_LOCATE_REQUEST> messages. | |
int | make_send_locate_reply (TAO_Transport *transport, TAO_OutputCDR &output, TAO_GIOP_Locate_Request_Header &request, TAO_GIOP_Locate_Status_Msg &status) |
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_ORB_Core *orb_core, CORBA::ULong request_id, IOP::ServiceContextList *svc_info, CORBA::Exception *x) |
void | dump_msg (const char *label, const u_char *ptr, size_t len) |
Print out a debug messages.. | |
TAO_Queued_Data * | make_queued_data (size_t sz) |
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) |
virtual size_t | header_length (void) const |
Header length. | |
virtual TAO_OutputCDR & | out_stream (void) |
Accessor for the output CDR stream. | |
int | write_request_header (const TAO_Operation_Details &opdetails, TAO_Target_Specification &spec, TAO_OutputCDR &msg) |
Write the request header in to <msg>. | |
int | write_locate_request_header (CORBA::ULong request_id, TAO_Target_Specification &spec, TAO_OutputCDR &msg) |
Write the LocateRequest header. | |
int | write_reply_header (TAO_OutputCDR &output, TAO_Pluggable_Reply_Params_Base &reply ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
Write the reply header in to <output>. | |
int | write_locate_reply_mesg (TAO_OutputCDR &output, CORBA::ULong request_id, TAO_GIOP_Locate_Status_Msg &status) |
Writes the locate _reply message in to the <output>. | |
int | parse_request_header (TAO_ServerRequest &) |
int | parse_locate_header (TAO_GIOP_Locate_Request_Header &) |
int | parse_reply (TAO_InputCDR &input, TAO_Pluggable_Reply_Params ¶ms) |
Parse the reply message. | |
int | parse_locate_reply (TAO_InputCDR &input, TAO_Pluggable_Reply_Params ¶ms) |
Parse the locate reply message from the server. | |
Private Attributes | |
TAO_ORB_Core * | orb_core_ |
Our copy of the ORB core... | |
CORBA::Octet | message_type_ |
The message type that we are going to process.. | |
CORBA::ULong | message_size_ |
The pay load size. | |
CORBA::Octet | byte_order_ |
TAO_OutputCDR | cdr_ |
This protocol is a modified version of GIOP. This is more suited for homogenous platforms.
|
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 object -- this is a dummy for GIOPlite.
Implements TAO_Pluggable_Messaging. |
|
Is the messaging object ready for processing BiDirectional request/response? Implements TAO_Pluggable_Messaging. |
|
|
|
Make a <GIOP_LOCATEREPLY> and hand that over to the transport so that it can be sent over the connection. NOTE:As on date 1.1 & 1.2 seem to have similar headers. Till an unmanageable difference comes let them be implemented here. |
|
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. |
|
Parse the Loacte Request Header from the incoming stream. This will do a version specific parsing of the incoming Request header |
|
Parse the locate reply message from the server.
|
|
Parse the reply message.
|
|
Parse the Request Header from the incoming stream. This will do a version specific parsing of the incoming Request header |
|
Processes the <GIOP_LOCATE_REQUEST> messages.
|
|
Parse the reply message that we received and return the reply information though <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. |
|
Dummy method to ..
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. |
|
Writes the locate _reply message in to the <output>.
|
|
Write the LocateRequest header.
|
|
Writes the GIOP header in to <msg> NOTE: If the GIOP header happens to change in the future, we can push this method in to the generator_parser classes. |
|
Write the reply header in to <output>.
|
|
Write the request header in to <msg>.
|
|
|
|
|
|
The pay load size.
|
|
The message type that we are going to process..
|
|
Our copy of the ORB core...
|