#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. More... | |
virtual | ~TAO_GIOP_Message_Lite (void) |
Dtor. More... | |
virtual void | init (CORBA::Octet, CORBA::Octet) |
Initialize the object -- this is a dummy for GIOPlite. More... | |
virtual void | reset (void) |
Reset the messaging the object. More... | |
virtual int | generate_request_header (TAO_Operation_Details &op, TAO_Target_Specification &spec, TAO_OutputCDR &cdr) |
Write the RequestHeader in to the <cdr> stream. The underlying implementation of the mesaging should do the right thing. More... | |
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. More... | |
virtual int | generate_reply_header (TAO_OutputCDR &cdr, TAO_Pluggable_Reply_Params_Base ¶ms) |
Write the reply header. More... | |
virtual int | read_message (TAO_Transport *transport, int block=0, ACE_Time_Value *max_wait_time=0) |
Dummy method to .. More... | |
virtual int | format_message (TAO_OutputCDR &cdr) |
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. More... | |
virtual int | parse_incoming_messages (ACE_Message_Block &message_block) |
Parse the incoming messages.. More... | |
TAO_Pluggable_Message_Type | message_type (void) |
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. More... | |
virtual ssize_t | missing_data (ACE_Message_Block &message_block) |
Calculate the amount of data that is missing in the <incoming> message block. More... | |
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>. More... | |
virtual void | get_message_data (TAO_Queued_Data *qd) |
Get the details of the message parsed through the <qd>. More... | |
virtual int | consolidate_fragments (TAO_Queued_Data *dqd, const TAO_Queued_Data *sqd) |
Bala: Docu??? More... | |
virtual int | process_request_message (TAO_Transport *transport, TAO_Queued_Data *qd) |
Process the request message that we have received on the connection. More... | |
virtual int | process_reply_message (TAO_Pluggable_Reply_Params &reply_info, TAO_Queued_Data *qd) |
Parse the reply message that we received and return the reply information though <reply_info>. More... | |
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>. More... | |
Private Methods | |
int | write_protocol_header (TAO_GIOP_Message_Type t, TAO_OutputCDR &msg) |
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. More... | |
int | process_request (TAO_Transport *transport, TAO_InputCDR &input, TAO_OutputCDR &output) |
Processes the <GIOP_REQUEST> messages. More... | |
int | process_locate_request (TAO_Transport *transport, TAO_InputCDR &input, TAO_OutputCDR &output) |
Processes the <GIOP_LOCATE_REQUEST> messages. More... | |
int | make_send_locate_reply (TAO_Transport *transport, TAO_OutputCDR &output, TAO_GIOP_Locate_Request_Header &request, TAO_GIOP_Locate_Status_Msg &status) |
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. More... | |
int | send_error (TAO_Transport *transport) |
Send error messages. More... | |
void | send_close_connection (const TAO_GIOP_Message_Version &version, TAO_Transport *transport, void *ctx) |
Close a connection, first sending GIOP::CloseConnection. More... | |
int | send_reply_exception (TAO_Transport *transport, TAO_ORB_Core *orb_core, CORBA::ULong request_id, IOP::ServiceContextList *svc_info, CORBA::Exception *x) |
We must send a LocateReply through <transport>, this request resulted in some kind of exception. More... | |
void | dump_msg (const char *label, const u_char *ptr, size_t len) |
Print out a debug messages.. More... | |
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. More... | |
virtual int | is_ready_for_bidirectional (TAO_OutputCDR &msg) |
Is the messaging object ready for processing BiDirectional request/response? More... | |
virtual size_t | header_length (void) const |
Header length. More... | |
int | write_request_header (const TAO_Operation_Details &opdetails, TAO_Target_Specification &spec, TAO_OutputCDR &msg) |
Write the request header in to <msg>. More... | |
int | write_locate_request_header (CORBA::ULong request_id, TAO_Target_Specification &spec, TAO_OutputCDR &msg) |
Write the LocateRequest header. More... | |
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>. More... | |
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>. More... | |
int | parse_request_header (TAO_ServerRequest &) |
Parse the Request Header from the incoming stream. This will do a version specific parsing of the incoming Request header. More... | |
int | parse_locate_header (TAO_GIOP_Locate_Request_Header &) |
Parse the Loacte Request Header from the incoming stream. This will do a version specific parsing of the incoming Request header. More... | |
int | parse_reply (TAO_InputCDR &input, TAO_Pluggable_Reply_Params ¶ms) |
Parse the reply message. More... | |
int | parse_locate_reply (TAO_InputCDR &input, TAO_Pluggable_Reply_Params ¶ms) |
Parse the locate reply message from the server. More... | |
Private Attributes | |
TAO_ORB_Core * | orb_core_ |
Our copy of the ORB core... More... | |
CORBA::Octet | message_type_ |
The message type that we are going to process.. More... | |
CORBA::ULong | message_size_ |
The pay load size. More... | |
CORBA::Octet | byte_order_ |
This protocol is a modified version of GIOP. This is more suited for homogenous platforms.
|
Constructor.
|
|
Dtor.
|
|
Bala: Docu??? @ Reimplemented from TAO_Pluggable_Messaging. |
|
Check whether the node <qd> needs consolidation from <incoming>.
Reimplemented from TAO_Pluggable_Messaging. |
|
Print out a debug messages..
|
|
Reimplemented from 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.
Reimplemented from TAO_Pluggable_Messaging. |
|
Generate a reply message with the exception <ex>.
Reimplemented from TAO_Pluggable_Messaging. |
|
Write the locate reply header.
Reimplemented from TAO_Pluggable_Messaging. |
|
Write the RequestHeader in to the <cdr> stream.
Reimplemented from TAO_Pluggable_Messaging. |
|
Write the reply header.
Reimplemented from TAO_Pluggable_Messaging. |
|
Write the RequestHeader in to the <cdr> stream. The underlying implementation of the mesaging should do the right thing.
Reimplemented from TAO_Pluggable_Messaging. |
|
Get the details of the message parsed through the <qd>.
Reimplemented from TAO_Pluggable_Messaging. |
|
Header length.
Reimplemented from TAO_Pluggable_Messaging. |
|
Initialize the object -- this is a dummy for GIOPlite.
Reimplemented from TAO_Pluggable_Messaging. |
|
Is the messaging object ready for processing BiDirectional request/response?
Reimplemented from 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.
Reimplemented from TAO_Pluggable_Messaging. |
|
Parse the incoming messages..
Reimplemented from 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>.
Reimplemented from TAO_Pluggable_Messaging. |
|
Processes the <GIOP_REQUEST> messages.
|
|
Process the request message that we have received on the connection.
Reimplemented from TAO_Pluggable_Messaging. |
|
Dummy method to ..
Reimplemented from TAO_Pluggable_Messaging. |
|
Reset the messaging the object.
Reimplemented from 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...
|