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:

Inheritance graph
[legend]
Collaboration diagram for TAO_GIOP_Message_Lite:

Collaboration graph
[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_Datamake_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_Coreorb_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:
Generated on Thu Oct 10 18:34:22 2002 for TAO by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001