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

# TAO_ECG_UDP_Request_Entry Class Reference

Keeps information about an incomplete request. More...

`#include <EC_Gateway_UDP.h>`

Collaboration diagram for TAO_ECG_UDP_Request_Entry:

[legend]
List of all members.

## Public Types
enum | { ECG_DEFAULT_FRAGMENT_BUFSIZ = 8 }
## Public Methods
| ~TAO_ECG_UDP_Request_Entry (void)
| TAO_ECG_UDP_Request_Entry (CORBA::Boolean byte_order, CORBA::ULong request_id, CORBA::ULong request_size, CORBA::ULong fragment_count)
| Initialize the fragment, allocating memory, etc. More...
int | validate_fragment (CORBA::Boolean byte_order, CORBA::ULong request_size, CORBA::ULong fragment_size, CORBA::ULong fragment_offset, CORBA::ULong fragment_id, CORBA::ULong fragment_count) const
| Validate a fragment, it should be rejected if it is invalid.. More...
int | test_received (CORBA::ULong fragment_id) const
| Has <fragment_id> been received? More...
void | mark_received (CORBA::ULong fragment_id)
| Mark <fragment_id> as received, reset timeout counter... More...
int | complete (void) const
| Is the message complete? More...
char * | fragment_buffer (CORBA::ULong fragment_offset)
| Return a buffer for the fragment at offset <fragment_offset>. More...
void | decode (RtecEventComm::EventSet &event ACE_ENV_ARG_DECL_WITH_DEFAULTS)
| Decode the events, the message must be complete. More...
void | inc_timeout (void)
| Increment the timeout counter... More...
int | get_timeout (void) const
| Get the timeout counter.... More...
## Private Attributes
CORBA::Boolean | byte_order_
| This attributes should remain constant in all the fragments, used for validation.... More...
CORBA::ULong | request_id_
CORBA::ULong | request_size_
CORBA::ULong | fragment_count_
CORBA::ULong | timeout_counter_
ACE_Message_Block | payload_
CORBA::ULong * | received_fragments_
| This is a bit vector, used to keep track of the received buffers. More...
int | own_received_fragments_
CORBA::ULong | received_fragments_size_
CORBA::ULong | default_received_fragments_ [ECG_DEFAULT_FRAGMENT_BUFSIZ]

## Detailed Description

Keeps information about an incomplete request.

When a request arrives in fragments this object is used to keep track of the incoming data.

## Member Enumeration Documentation

anonymous enum

  | Enumeration values:
  ECG_DEFAULT_FRAGMENT_BUFSIZ |

## Constructor & Destructor Documentation

TAO_ECG_UDP_Request_Entry::~TAO_ECG_UDP_Request_Entry | ( | void |  | ) |

TAO_ECG_UDP_Request_Entry::TAO_ECG_UDP_Request_Entry | ( | CORBA::Boolean | byte_order,
|  | CORBA::ULong | request_id,
|  | CORBA::ULong | request_size,
|  | CORBA::ULong | fragment_count
| ) |

| Initialize the fragment, allocating memory, etc.

## Member Function Documentation

int TAO_ECG_UDP_Request_Entry::complete | ( | void |  | ) | const

| Is the message complete?

void TAO_ECG_UDP_Request_Entry::decode | ( | RtecEventComm::EventSet &event | ACE_ENV_ARG_DECL | ) |

| Decode the events, the message must be complete.

char * TAO_ECG_UDP_Request_Entry::fragment_buffer | ( | CORBA::ULong | fragment_offset | ) |

| Return a buffer for the fragment at offset <fragment_offset>.

ACE_INLINE int TAO_ECG_UDP_Request_Entry::get_timeout | ( | void |  | ) | const

| Get the timeout counter....

ACE_INLINE void TAO_ECG_UDP_Request_Entry::inc_timeout | ( | void |  | ) |

| Increment the timeout counter...

void TAO_ECG_UDP_Request_Entry::mark_received | ( | CORBA::ULong | fragment_id | ) |

| Mark <fragment_id> as received, reset timeout counter...

int TAO_ECG_UDP_Request_Entry::test_received | ( | CORBA::ULong | fragment_id | ) | const

| Has <fragment_id> been received?

int TAO_ECG_UDP_Request_Entry::validate_fragment | ( | CORBA::Boolean | byte_order,
|  | CORBA::ULong | request_size,
|  | CORBA::ULong | fragment_size,
|  | CORBA::ULong | fragment_offset,
|  | CORBA::ULong | fragment_id,
|  | CORBA::ULong | fragment_count
| ) | const

| Validate a fragment, it should be rejected if it is invalid..

## Member Data Documentation

CORBA::Boolean TAO_ECG_UDP_Request_Entry::byte_order_`[private]`

| This attributes should remain constant in all the fragments, used for validation....

CORBA::ULong TAO_ECG_UDP_Request_Entry::default_received_fragments_[ECG_DEFAULT_FRAGMENT_BUFSIZ]`[private]`

CORBA::ULong TAO_ECG_UDP_Request_Entry::fragment_count_`[private]`

int TAO_ECG_UDP_Request_Entry::own_received_fragments_`[private]`

ACE_Message_Block TAO_ECG_UDP_Request_Entry::payload_`[private]`

CORBA::ULong* TAO_ECG_UDP_Request_Entry::received_fragments_`[private]`

| This is a bit vector, used to keep track of the received buffers.

CORBA::ULong TAO_ECG_UDP_Request_Entry::received_fragments_size_`[private]`

CORBA::ULong TAO_ECG_UDP_Request_Entry::request_id_`[private]`

CORBA::ULong TAO_ECG_UDP_Request_Entry::request_size_`[private]`

CORBA::ULong TAO_ECG_UDP_Request_Entry::timeout_counter_`[private]`

The documentation for this class was generated from the following files:

- EC_Gateway_UDP.h
- EC_Gateway_UDP.cpp
- EC_Gateway_UDP.i