#include <GIOP_Message_State.h>
Collaboration diagram for TAO_GIOP_Message_State:
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. | |
void | reset (void) |
Reset the state.. | |
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_ |
CORBA::Octet | byte_order_ |
0 = big, 1 = little | |
CORBA::Octet | message_type_ |
MsgType above. | |
CORBA::ULong | message_size_ |
in byte_order! | |
CORBA::Octet | more_fragments_ |
CORBA::ULong | missing_data_ |
Missing data. | |
Friends | |
class | TAO_GIOP_Message_Base |
This helps to establish the state of the incoming messages.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_GIOP_Message_State::TAO_GIOP_Message_State | ( | void | ) |
Ctor.
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>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE CORBA::ULong TAO_GIOP_Message_State::message_size | ( | void | ) | const |
Return the message size.
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.
ACE_INLINE 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
ACE_INLINE void TAO_GIOP_Message_State::reset | ( | void | ) |
Reset the state..
friend class TAO_GIOP_Message_Base [friend] |
0 = big, 1 = little
in byte_order!
MsgType above.
Missing data.
(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.