TAO_RTEvent 4.0.2
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_ECG_UDP_Request_Entry Class Reference

Keeps information about an incomplete request. More...

#include <ECG_CDR_Message_Receiver.h>

Collaboration diagram for TAO_ECG_UDP_Request_Entry:
Collaboration graph
[legend]

Public Types

enum  { ECG_DEFAULT_FRAGMENT_BUFSIZ = 8 }
 

Public Member Functions

 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.
 
 ~TAO_ECG_UDP_Request_Entry ()
 
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..
 
int test_received (CORBA::ULong fragment_id) const
 Has fragment_id been received?
 
void mark_received (CORBA::ULong fragment_id)
 Mark fragment_id as received, reset timeout counter...
 
int complete () const
 Is the message complete?
 
char * fragment_buffer (CORBA::ULong fragment_offset)
 Return a buffer for the fragment at offset fragment_offset.
 

Private Member Functions

 TAO_ECG_UDP_Request_Entry (const TAO_ECG_UDP_Request_Entry &rhs)
 
TAO_ECG_UDP_Request_Entryoperator= (const TAO_ECG_UDP_Request_Entry &rhs)
 

Private Attributes

CORBA::Boolean byte_order_
 
CORBA::ULong request_id_
 
CORBA::ULong request_size_
 
CORBA::ULong fragment_count_
 
ACE_Message_Block payload_
 
CORBA::ULongreceived_fragments_
 This is a bit vector, used to keep track of the received buffers.
 
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

anonymous enum
Enumerator
ECG_DEFAULT_FRAGMENT_BUFSIZ 

Constructor & Destructor Documentation

◆ TAO_ECG_UDP_Request_Entry() [1/2]

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.

◆ ~TAO_ECG_UDP_Request_Entry()

TAO_ECG_UDP_Request_Entry::~TAO_ECG_UDP_Request_Entry ( )

◆ TAO_ECG_UDP_Request_Entry() [2/2]

TAO_ECG_UDP_Request_Entry::TAO_ECG_UDP_Request_Entry ( const TAO_ECG_UDP_Request_Entry & rhs)
private

Member Function Documentation

◆ complete()

int TAO_ECG_UDP_Request_Entry::complete ( ) const

Is the message complete?

◆ fragment_buffer()

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

Return a buffer for the fragment at offset fragment_offset.

◆ mark_received()

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

Mark fragment_id as received, reset timeout counter...

◆ operator=()

TAO_ECG_UDP_Request_Entry & TAO_ECG_UDP_Request_Entry::operator= ( const TAO_ECG_UDP_Request_Entry & rhs)
private

◆ test_received()

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

Has fragment_id been received?

◆ validate_fragment()

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

◆ byte_order_

CORBA::Boolean TAO_ECG_UDP_Request_Entry::byte_order_
private

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

◆ default_received_fragments_

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

◆ fragment_count_

CORBA::ULong TAO_ECG_UDP_Request_Entry::fragment_count_
private

◆ own_received_fragments_

int TAO_ECG_UDP_Request_Entry::own_received_fragments_
private

◆ payload_

ACE_Message_Block TAO_ECG_UDP_Request_Entry::payload_
private

◆ received_fragments_

CORBA::ULong* TAO_ECG_UDP_Request_Entry::received_fragments_
private

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

◆ received_fragments_size_

CORBA::ULong TAO_ECG_UDP_Request_Entry::received_fragments_size_
private

◆ request_id_

CORBA::ULong TAO_ECG_UDP_Request_Entry::request_id_
private

◆ request_size_

CORBA::ULong TAO_ECG_UDP_Request_Entry::request_size_
private

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