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:

Collaboration graph
[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::ULongreceived_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:
Generated on Thu Oct 10 21:17:33 2002 for TAO_RTEvent by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001