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.

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 &params)
 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 &params, 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 &params)
 Parse the reply message.

int parse_locate_reply (TAO_InputCDR &input, TAO_Pluggable_Reply_Params &params)
 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_

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

@

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

Implements 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]
 

Implements TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::format_message (  TAO_OutputCDR &    cdr )  [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.

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

Implements TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::generate_locate_reply_header (  TAO_OutputCDR &   ,
TAO_Pluggable_Reply_Params_Base &   
)  [private, virtual]
 

Write the locate reply header.

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

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

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

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

Implements TAO_Pluggable_Messaging.

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

Header length.

Implements TAO_Pluggable_Messaging.

void TAO_GIOP_Message_Lite::init (  CORBA::Octet   ,
CORBA::Octet   
)  [virtual]
 

Initialize the object -- this is a dummy for GIOPlite.

Implements 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?

Implements 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
)  [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 &    message_block )  [virtual]
 

Calculate the amount of data that is missing in the <incoming> message block.

Implements TAO_Pluggable_Messaging.

TAO_OutputCDR & TAO_GIOP_Message_Lite::out_stream (  void    )  [private, virtual]
 

Accessor for the output CDR stream.

Implements TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::parse_incoming_messages (  ACE_Message_Block &    message_block )  [virtual]
 

Parse the incoming messages..

Implements TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::parse_locate_header (  TAO_GIOP_Locate_Request_Header &    )  [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 &    input,
TAO_Pluggable_Reply_Params &    params
)  [private]
 

Parse the reply message.

int TAO_GIOP_Message_Lite::parse_request_header (  TAO_ServerRequest &    )  [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 &    reply_info,
TAO_Queued_Data *    qd
)  [virtual]
 

Parse the reply message that we received and return the reply information though <reply_info>

Implements TAO_Pluggable_Messaging.

int TAO_GIOP_Message_Lite::process_request (  TAO_Transport *    transport,
TAO_InputCDR &    input,
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

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

Implements TAO_Pluggable_Messaging.

void TAO_GIOP_Message_Lite::reset (  void    )  [virtual]
 

Reset the messaging the object.

Implements 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
)  [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_WITH_DEFAULTS
)  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 &    msg
)  [private]
 

Write the request header in to <msg>.


Member Data Documentation

CORBA::Octet TAO_GIOP_Message_Lite::byte_order_ [private]
 

TAO_OutputCDR TAO_GIOP_Message_Lite::cdr_ [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 Wed Jan 14 23:26:53 2004 for TAO by doxygen1.2.18