#include <GIOP_Message_State.h>
Public Member Functions | |
TAO_GIOP_Message_State (void) | |
Ctor. | |
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. |
This helps to establish the state of the incoming messages.
TAO_GIOP_Message_State::TAO_GIOP_Message_State | ( | void | ) |
Ctor.
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.
void TAO_GIOP_Message_State::more_fragments | ( | CORBA::Boolean | fragment | ) |
CORBA::Boolean TAO_GIOP_Message_State::more_fragments | ( | void | ) | const |
Return the more fragments.
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.
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
0 = big, 1 = little
Compressed.
GIOP version information..
GIOP::MsgType TAO_GIOP_Message_State::message_type_ [private] |
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!