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

TAO_GIOP_Message_State Class Reference

Generic definitions for Message States. More...

#include <GIOP_Message_State.h>

Collaboration diagram for TAO_GIOP_Message_State:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_GIOP_Message_State (TAO_ORB_Core *orb_core, TAO_GIOP_Message_Base *base)
 Ctor.

int parse_message_header (ACE_Message_Block &incoming)
 Parse the message header.

CORBA::ULong message_size (void) const
 Return the message size.

CORBA::ULong payload_size (void) const
 Return the message size.

CORBA::Octet byte_order (void) const
 Return the byte order information.

void reset (void)
 Reset the state..


Private Methods

int parse_message_header_i (ACE_Message_Block &incoming)
 Parse the message header.

int parse_magic_bytes (char *buf)
int get_version_info (char *buf)
int get_byte_order_info (char *buf)
void get_payload_size (char *buf)
 Gets the size of the payload and set the size in the <state>.

int parse_fragment_header (char *buf, size_t length)
CORBA::ULong read_ulong (char *buf)

Private Attributes

TAO_GIOP_Message_Basebase_
 The GIOP base class..

TAO_GIOP_Message_Version giop_version_
CORBA::Octet byte_order_
 0 = big, 1 = little

CORBA::Octet message_type_
 MsgType above.

CORBA::ULong message_size_
 in byte_order!

CORBA::ULong request_id_
 Request Id from the Fragment header.

CORBA::Octet more_fragments_
 (Requests and Replys)

CORBA::ULong missing_data_
 Missing data.


Friends

class TAO_GIOP_Message_Base

Detailed Description

Generic definitions for Message States.

This helps to establish the state of the incoming messages.


Constructor & Destructor Documentation

TAO_GIOP_Message_State::TAO_GIOP_Message_State TAO_ORB_Core   orb_core,
TAO_GIOP_Message_Base   base
 

Ctor.


Member Function Documentation

ACE_INLINE CORBA::Octet TAO_GIOP_Message_State::byte_order void    const
 

Return the byte order information.

int TAO_GIOP_Message_State::get_byte_order_info char *    buf [private]
 

Extracts the byte order information from the incoming stream. Performs a check for whether the byte order information right and sets the information in the <state>

void TAO_GIOP_Message_State::get_payload_size char *    buf [private]
 

Gets the size of the payload and set the size in the <state>.

int TAO_GIOP_Message_State::get_version_info char *    buf [private]
 

Extracts the version information from the incoming stream. Performs a check for whether the version information is right and sets the information in the <state>

ACE_INLINE CORBA::ULong TAO_GIOP_Message_State::message_size void    const
 

Return the message size.

int TAO_GIOP_Message_State::parse_fragment_header char *    buf,
size_t    length
[private]
 

Parses the GIOP FRAGMENT_HEADER information from the incoming stream.

int TAO_GIOP_Message_State::parse_magic_bytes char *    buf [private]
 

Checks for the magic word 'GIOP' in the start of the incoing stream

int TAO_GIOP_Message_State::parse_message_header ACE_Message_Block   incoming
 

Parse the message header.

int TAO_GIOP_Message_State::parse_message_header_i ACE_Message_Block   incoming [private]
 

Parse the message header.

ACE_INLINE CORBA::ULong TAO_GIOP_Message_State::payload_size void    const
 

Return the message size.

CORBA::ULong TAO_GIOP_Message_State::read_ulong char *    buf [private]
 

Read the unsigned long from the buffer. The <buf> should just point to the next 4 bytes data that represent the ULong

ACE_INLINE void TAO_GIOP_Message_State::reset void   
 

Reset the state..


Friends And Related Function Documentation

friend class TAO_GIOP_Message_Base [friend]
 


Member Data Documentation

TAO_GIOP_Message_Base* TAO_GIOP_Message_State::base_ [private]
 

The GIOP base class..

CORBA::Octet TAO_GIOP_Message_State::byte_order_ [private]
 

0 = big, 1 = little

TAO_GIOP_Message_Version TAO_GIOP_Message_State::giop_version_ [private]
 

CORBA::ULong TAO_GIOP_Message_State::message_size_ [private]
 

in byte_order!

CORBA::Octet TAO_GIOP_Message_State::message_type_ [private]
 

MsgType above.

CORBA::ULong TAO_GIOP_Message_State::missing_data_ [private]
 

Missing data.

CORBA::Octet TAO_GIOP_Message_State::more_fragments_ [private]
 

(Requests and Replys)

CORBA::ULong TAO_GIOP_Message_State::request_id_ [private]
 

Request Id from the Fragment header.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:32:55 2004 for TAO by doxygen1.2.18