TAO_Pluggable_Messaging Class Reference

Generic definitions Messaging class. More...

#include <Pluggable_Messaging.h>

Inheritance diagram for TAO_Pluggable_Messaging:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~TAO_Pluggable_Messaging (void)
 Dtor.
virtual int generate_request_header (TAO_Operation_Details &op, TAO_Target_Specification &spec, TAO_OutputCDR &cdr)=0
virtual int generate_locate_request_header (TAO_Operation_Details &op, TAO_Target_Specification &spec, TAO_OutputCDR &cdr)=0
 Write the RequestHeader in to the cdr stream.
virtual int generate_reply_header (TAO_OutputCDR &cdr, TAO_Pluggable_Reply_Params_Base &params)=0
virtual int generate_locate_reply_header (TAO_OutputCDR &cdr, TAO_Pluggable_Reply_Params_Base &params)=0
virtual int generate_fragment_header (TAO_OutputCDR &cdr, CORBA::ULong request_id)=0
virtual int format_message (TAO_OutputCDR &cdr)=0
virtual void init (CORBA::Octet major, CORBA::Octet minor)=0
 Do any initialisations that may be needed.
virtual int parse_next_message (ACE_Message_Block &incoming, TAO_Queued_Data &qd, size_t &mesg_length)=0
virtual int extract_next_message (ACE_Message_Block &incoming, TAO_Queued_Data *&qd)=0
virtual int consolidate_node (TAO_Queued_Data *qd, ACE_Message_Block &incoming)=0
virtual int process_request_message (TAO_Transport *transport, TAO_Queued_Data *qd)=0
virtual int process_reply_message (TAO_Pluggable_Reply_Params &reply_info, TAO_Queued_Data *qd)=0
virtual int generate_exception_reply (TAO_OutputCDR &cdr, TAO_Pluggable_Reply_Params_Base &params, const CORBA::Exception &ex)=0
 Generate a reply message with the exception ex.
virtual int is_ready_for_bidirectional (TAO_OutputCDR &msg)=0
virtual void reset (void)=0
 Reset the messaging the object.
virtual size_t header_length (void) const =0
 Header length.
virtual size_t fragment_header_length (CORBA::Octet major, CORBA::Octet minor) const =0
 Fragment header length.
virtual TAO_OutputCDRout_stream (void)=0
 Accessor for the output CDR stream.
virtual int consolidate_fragmented_message (TAO_Queued_Data *qd, TAO_Queued_Data *&con_msg)=0
virtual int discard_fragmented_message (const TAO_Queued_Data *cancel_request)=0
virtual TAO_GIOP_Fragmentation_Strategyfragmentation_strategy (void)=0
 Outgoing GIOP message fragmentation strategy.

Detailed Description

Generic definitions Messaging class.

This interface tries to define generic methods that could be different messaging protocols


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Pluggable_Messaging::~TAO_Pluggable_Messaging ( void   )  [virtual]

Dtor.


Member Function Documentation

virtual int TAO_Pluggable_Messaging::consolidate_fragmented_message ( TAO_Queued_Data qd,
TAO_Queued_Data *&  con_msg 
) [pure virtual]

Consolidate newly received fragment with previously arrived associated fragments to achieve consolidated message. All fragments having been received previously are being managed within implementation. If reliable transport is used (like TCP) this operation will be invoked with fragments being received partially ordered, last fragment being received last. Otherwise If un-reliable transport is used (like UDP) fragments may be received dis-ordered, and must be ordered before consolidation within implementation.

Returns:
0 on success and con_msg points to consolidated message, 1 if there are still fragmens outstanding, in case of error -1 is being returned. The implementation is responsible to release qd.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::consolidate_node ( TAO_Queued_Data qd,
ACE_Message_Block incoming 
) [pure virtual]

Check whether the node qd needs consolidation from incoming

Returns:
0 on success, -1 on error

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::discard_fragmented_message ( const TAO_Queued_Data cancel_request  )  [pure virtual]

Discard all fragments associated to request-id encoded in cancel_request. Transport implementaion guarantees that this operation will never be invoked // concurrently by multiplpe threads nor concurrently to consolidate_fragmented_message

Returns:
-1 on failure, 0 on success, 1 no fragment on stack relating to CancelRequest.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::extract_next_message ( ACE_Message_Block incoming,
TAO_Queued_Data *&  qd 
) [pure virtual]

Extract the details of the next message from the incoming through qd. Returns 0 if the message header could not be parsed completely, returns a 1 if the message header could be parsed completely and returns -1 on error.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::format_message ( TAO_OutputCDR cdr  )  [pure virtual]

Format the message in the cdr. May not be needed in general.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual size_t TAO_Pluggable_Messaging::fragment_header_length ( CORBA::Octet  major,
CORBA::Octet  minor 
) const [pure virtual]

Fragment header length.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual TAO_GIOP_Fragmentation_Strategy* TAO_Pluggable_Messaging::fragmentation_strategy ( void   )  [pure virtual]

Outgoing GIOP message fragmentation strategy.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::generate_exception_reply ( TAO_OutputCDR cdr,
TAO_Pluggable_Reply_Params_Base params,
const CORBA::Exception ex 
) [pure virtual]

Generate a reply message with the exception ex.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::generate_fragment_header ( TAO_OutputCDR cdr,
CORBA::ULong  request_id 
) [pure virtual]

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::generate_locate_reply_header ( TAO_OutputCDR cdr,
TAO_Pluggable_Reply_Params_Base params 
) [pure virtual]

Write the locate reply header The locate reply header is a part of any messaging protocol. The messaging protocol implementation would implement the way the locate reply header is written.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::generate_locate_request_header ( TAO_Operation_Details op,
TAO_Target_Specification spec,
TAO_OutputCDR cdr 
) [pure virtual]

Write the RequestHeader in to the cdr stream.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::generate_reply_header ( TAO_OutputCDR cdr,
TAO_Pluggable_Reply_Params_Base params 
) [pure virtual]

Write the reply header The reply header is a part of any messaging protocol. The messaging protocol implementation would implement the way the reply header is written.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::generate_request_header ( TAO_Operation_Details op,
TAO_Target_Specification spec,
TAO_OutputCDR cdr 
) [pure virtual]

Write the RequestHeader in to the cdr stream. The underlying implementation of the mesaging should do the right thing.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual size_t TAO_Pluggable_Messaging::header_length ( void   )  const [pure virtual]

Header length.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual void TAO_Pluggable_Messaging::init ( CORBA::Octet  major,
CORBA::Octet  minor 
) [pure virtual]

Do any initialisations that may be needed.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::is_ready_for_bidirectional ( TAO_OutputCDR msg  )  [pure virtual]

Is the messaging object ready for processing BiDirectional request/response?

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual TAO_OutputCDR& TAO_Pluggable_Messaging::out_stream ( void   )  [pure virtual]

Accessor for the output CDR stream.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::parse_next_message ( ACE_Message_Block incoming,
TAO_Queued_Data qd,
size_t &  mesg_length 
) [pure virtual]

Parse the details of the next message from the incoming and initializes attributes of qd. Returns 0 if the message header could not be parsed completely, returns a 1 if the message header could be parsed completely and returns -1 on error. As the parsed data is stored directly in qd, no state must be stored in instance of implementation.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::process_reply_message ( TAO_Pluggable_Reply_Params reply_info,
TAO_Queued_Data qd 
) [pure virtual]

Parse the reply message that we received and return the reply information through reply_info

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual int TAO_Pluggable_Messaging::process_request_message ( TAO_Transport transport,
TAO_Queued_Data qd 
) [pure virtual]

Parse the request message, make an upcall and send the reply back to the "request initiator"

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.

virtual void TAO_Pluggable_Messaging::reset ( void   )  [pure virtual]

Reset the messaging the object.

Implemented in TAO_GIOP_Message_Base, and TAO_GIOP_Message_Lite.


The documentation for this class was generated from the following files:
Generated on Mon Apr 30 23:03:41 2007 for TAO by  doxygen 1.4.7-1