Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# TAO_GIOP_Message_Lite Class Reference

Definitions of GIOPLite specific stuff. More...

`#include <GIOP_Message_Lite.h>`

Inheritance diagram for TAO_GIOP_Message_Lite:

[legend]
Collaboration diagram for TAO_GIOP_Message_Lite:

[legend]
List of all members.

## 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 &params)
| 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 &params, 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 &params)
| Parse the reply message. More...
int | parse_locate_reply (TAO_InputCDR &input, TAO_Pluggable_Reply_Params &params)
| 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_

## Detailed Description

Definitions of GIOPLite specific stuff.

This protocol is a modified version of GIOP. This is more suited for homogenous platforms.

## Constructor & Destructor Documentation

TAO_GIOP_Message_Lite::TAO_GIOP_Message_Lite | ( | TAO_ORB_Core * | orb_core,
|  | size_t | input_cdr_size = ACE_CDR::DEFAULT_BUFSIZE
| ) |

| Constructor.

TAO_GIOP_Message_Lite::~TAO_GIOP_Message_Lite | ( | void |  | ) | `[virtual]`

| Dtor.

## Member Function Documentation

int TAO_GIOP_Message_Lite::consolidate_fragments | ( | TAO_Queued_Data * | dqd,
|  | const TAO_Queued_Data * | sqd
| ) | `[virtual]`

| Bala: Docu??? @ Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::consolidate_node | ( | TAO_Queued_Data * | qd,
|  | ACE_Message_Block & | incoming
| ) | `[virtual]`

| Check whether the node <qd> needs consolidation from <incoming>. Reimplemented from TAO_Pluggable_Messaging.

void TAO_GIOP_Message_Lite::dump_msg | ( | const char * | label,
|  | const u_char * | ptr,
|  | size_t | len
| ) | `[private]`

| Print out a debug messages..

int TAO_GIOP_Message_Lite::extract_next_message | ( | ACE_Message_Block & | incoming,
|  | TAO_Queued_Data *& | qd
| ) | `[virtual]`

| Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::format_message | ( | TAO_OutputCDR & | stream | ) | `[virtual]`

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

int TAO_GIOP_Message_Lite::generate_exception_reply | ( | TAO_OutputCDR & | cdr,
|  | TAO_Pluggable_Reply_Params_Base & | params,
|  | CORBA::Exception & | x
| ) | `[virtual]`

| Generate a reply message with the exception <ex>. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::generate_locate_reply_header | ( | TAO_OutputCDR & | cdr,
|  | TAO_Pluggable_Reply_Params_Base & | params
| ) | `[private, virtual]`

| Write the locate reply header. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::generate_locate_request_header | ( | TAO_Operation_Details & | op,
|  | TAO_Target_Specification & | spec,
|  | TAO_OutputCDR & | cdr
| ) | `[virtual]`

| Write the RequestHeader in to the <cdr> stream. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::generate_reply_header | ( | TAO_OutputCDR & | cdr,
|  | TAO_Pluggable_Reply_Params_Base & | params
| ) | `[virtual]`

| Write the reply header. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::generate_request_header | ( | TAO_Operation_Details & | op,
|  | TAO_Target_Specification & | spec,
|  | TAO_OutputCDR & | cdr
| ) | `[virtual]`

| Write the RequestHeader in to the <cdr> stream. The underlying implementation of the mesaging should do the right thing. Reimplemented from TAO_Pluggable_Messaging.

void TAO_GIOP_Message_Lite::get_message_data | ( | TAO_Queued_Data * | qd | ) | `[virtual]`

| Get the details of the message parsed through the <qd>. Reimplemented from TAO_Pluggable_Messaging.

size_t TAO_GIOP_Message_Lite::header_length | ( | void |  | ) | const`[private, virtual]`

| Header length. Reimplemented from TAO_Pluggable_Messaging.

void TAO_GIOP_Message_Lite::init | ( | CORBA::Octet | major,
|  | CORBA::Octet | minor
| ) | `[virtual]`

| Initialize the object -- this is a dummy for GIOPlite. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::is_ready_for_bidirectional | ( | TAO_OutputCDR & | msg | ) | `[private, virtual]`

| Is the messaging object ready for processing BiDirectional request/response? Reimplemented from TAO_Pluggable_Messaging.

TAO_Queued_Data * TAO_GIOP_Message_Lite::make_queued_data | ( | size_t | sz | ) | `[private]`

int TAO_GIOP_Message_Lite::make_send_locate_reply | ( | TAO_Transport * | transport,
|  | TAO_OutputCDR & | output,
|  | TAO_GIOP_Locate_Request_Header & | request,
|  | TAO_GIOP_Locate_Status_Msg & | status_info
| ) | `[private]`

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

TAO_Pluggable_Message_Type TAO_GIOP_Message_Lite::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.

ssize_t TAO_GIOP_Message_Lite::missing_data | ( | ACE_Message_Block & | block | ) | `[virtual]`

| Calculate the amount of data that is missing in the <incoming> message block. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::parse_incoming_messages | ( | ACE_Message_Block & | block | ) | `[virtual]`

| Parse the incoming messages.. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::parse_locate_header | ( | TAO_GIOP_Locate_Request_Header & | request | ) | `[private]`

| Parse the Loacte Request Header from the incoming stream. This will do a version specific parsing of the incoming Request header.

int TAO_GIOP_Message_Lite::parse_locate_reply | ( | TAO_InputCDR & | input,
|  | TAO_Pluggable_Reply_Params & | params
| ) | `[private]`

| Parse the locate reply message from the server.

int TAO_GIOP_Message_Lite::parse_reply | ( | TAO_InputCDR & | cdr,
|  | TAO_Pluggable_Reply_Params & | params
| ) | `[private]`

| Parse the reply message.

int TAO_GIOP_Message_Lite::parse_request_header | ( | TAO_ServerRequest & | request | ) | `[private]`

| Parse the Request Header from the incoming stream. This will do a version specific parsing of the incoming Request header.

int TAO_GIOP_Message_Lite::process_locate_request | ( | TAO_Transport * | transport,
|  | TAO_InputCDR & | input,
|  | TAO_OutputCDR & | output
| ) | `[private]`

| Processes the <GIOP_LOCATE_REQUEST> messages.

int TAO_GIOP_Message_Lite::process_reply_message | ( | TAO_Pluggable_Reply_Params & | params,
|  | TAO_Queued_Data * | qd
| ) | `[virtual]`

| Parse the reply message that we received and return the reply information though <reply_info>. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::process_request | ( | TAO_Transport * | transport,
|  | TAO_InputCDR & | cdr,
|  | TAO_OutputCDR & | output
| ) | `[private]`

| Processes the <GIOP_REQUEST> messages.

int TAO_GIOP_Message_Lite::process_request_message | ( | TAO_Transport * | transport,
|  | TAO_Queued_Data * | qd
| ) | `[virtual]`

| Process the request message that we have received on the connection. Reimplemented from TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::read_message | ( | TAO_Transport * | transport,
|  | int | block = 0,
|  | ACE_Time_Value * | max_wait_time = 0
| ) | `[virtual]`

| Dummy method to .. Reimplemented from TAO_Pluggable_Messaging.

void TAO_GIOP_Message_Lite::reset | ( | void |  | ) | `[virtual]`

| Reset the messaging the object. Reimplemented from TAO_Pluggable_Messaging.

void TAO_GIOP_Message_Lite::send_close_connection | ( | const TAO_GIOP_Message_Version & | version,
|  | TAO_Transport * | transport,
|  | void * | ctx
| ) | `[private]`

| Close a connection, first sending GIOP::CloseConnection.

int TAO_GIOP_Message_Lite::send_error | ( | TAO_Transport * | transport | ) | `[private]`

| Send error messages.

int TAO_GIOP_Message_Lite::send_reply_exception | ( | TAO_Transport * | transport,
|  | TAO_ORB_Core * | orb_core,
|  | CORBA::ULong | request_id,
|  | IOP::ServiceContextList * | svc_info,
|  | CORBA::Exception * | x
| ) | `[private]`

| We must send a LocateReply through <transport>, this request resulted in some kind of exception.

int TAO_GIOP_Message_Lite::write_locate_reply_mesg | ( | TAO_OutputCDR & | output,
|  | CORBA::ULong | request_id,
|  | TAO_GIOP_Locate_Status_Msg & | status_info
| ) | `[private]`

| Writes the locate _reply message in to the <output>.

int TAO_GIOP_Message_Lite::write_locate_request_header | ( | CORBA::ULong | request_id,
|  | TAO_Target_Specification & | spec,
|  | TAO_OutputCDR & | msg
| ) | `[private]`

| Write the LocateRequest header.

int TAO_GIOP_Message_Lite::write_protocol_header | ( | TAO_GIOP_Message_Type | t,
|  | TAO_OutputCDR & | msg
| ) | `[private]`

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

int TAO_GIOP_Message_Lite::write_reply_header | ( | TAO_OutputCDR & | output,
|  | TAO_Pluggable_Reply_Params_Base &reply | ACE_ENV_ARG_DECL_NOT_USED
| ) | throw (CORBA::SystemException)`[private]`

| Write the reply header in to <output>.

int TAO_GIOP_Message_Lite::write_request_header | ( | const TAO_Operation_Details & | opdetails,
|  | TAO_Target_Specification & | spec,
|  | TAO_OutputCDR & | out_stream
| ) | `[private]`

| Write the request header in to <msg>.

## Member Data Documentation

CORBA::Octet TAO_GIOP_Message_Lite::byte_order_`[private]`

CORBA::ULong TAO_GIOP_Message_Lite::message_size_`[private]`

| The pay load size.

CORBA::Octet TAO_GIOP_Message_Lite::message_type_`[private]`

| The message type that we are going to process..

TAO_ORB_Core* TAO_GIOP_Message_Lite::orb_core_`[private]`

| Our copy of the ORB core...

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

- GIOP_Message_Lite.h
- GIOP_Message_Lite.cpp