TAO  2.0.8
Public Member Functions | Private Member Functions | Private Attributes
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 Member Functions

 TAO_GIOP_Message_State (void)
 Constructor.
int parse_message_header (ACE_Message_Block &incoming)
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.
GIOP::MsgType message_type (void) const
 Return the message type.
CORBA::Boolean more_fragments (void) const
 Return the more fragments.
void more_fragments (CORBA::Boolean fragment)
TAO_GIOP_Message_Version const & giop_version (void) const
 Get the GIOP version.
CORBA::Boolean compressed (void) const
 Return the compressed information.

Private Member Functions

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>
CORBA::ULong read_ulong (const char *buf) const

Private Attributes

TAO_GIOP_Message_Version giop_version_
 GIOP version information..
CORBA::Octet byte_order_
 0 = big, 1 = little
GIOP::MsgType message_type_
 MsgType above.
CORBA::ULong payload_size_
 In byte_order!
CORBA::Boolean more_fragments_
CORBA::Boolean compressed_
 Compressed.

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 ( void  )

Constructor.


Member Function Documentation

CORBA::Octet TAO_GIOP_Message_State::byte_order ( void  ) const

Return the byte order information.

CORBA::Boolean TAO_GIOP_Message_State::compressed ( void  ) const

Return the compressed 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>

TAO_GIOP_Message_Version const & TAO_GIOP_Message_State::giop_version ( void  ) const

Get the GIOP version.

CORBA::ULong TAO_GIOP_Message_State::message_size ( void  ) const

Return the message size.

GIOP::MsgType TAO_GIOP_Message_State::message_type ( void  ) const

Return the message type.

CORBA::Boolean TAO_GIOP_Message_State::more_fragments ( void  ) const

Return the more fragments.

void TAO_GIOP_Message_State::more_fragments ( CORBA::Boolean  fragment)
int TAO_GIOP_Message_State::parse_magic_bytes ( char *  buf) [private]

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

int TAO_GIOP_Message_State::parse_message_header ( ACE_Message_Block incoming)

Parse the message header.

Returns:
-1 There was some error parsing the GIOP header
0 The GIOP header was parsed correctly
1 There was not enough data in the message block to parse the header
int TAO_GIOP_Message_State::parse_message_header_i ( ACE_Message_Block incoming) [private]

Parse the message header.

CORBA::ULong TAO_GIOP_Message_State::payload_size ( void  ) const

Return the message size.

CORBA::ULong TAO_GIOP_Message_State::read_ulong ( const char *  buf) const [private]

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


Member Data Documentation

0 = big, 1 = little

Compressed.

GIOP version information..

MsgType above.

(Requests and Replys) A value of zero indicates that this message does not have any fragments. A value of non-zero indicates that it does have fragments.

In byte_order!


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines