TAO_RTEvent  2.0.8
Public Member Functions | Private Member Functions | Private Attributes
TAO_ECG_CDR_Message_Receiver::Requests Class Reference

#include <ECG_CDR_Message_Receiver.h>

Collaboration diagram for TAO_ECG_CDR_Message_Receiver::Requests:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Requests (void)
 ~Requests (void)
int init (size_t size, size_t min_purge_count)
 Allocates and initializes <fragmented_requests_>.
TAO_ECG_UDP_Request_Entry ** get_request (CORBA::ULong request_id)

Private Member Functions

void purge_requests (CORBA::ULong purge_first, CORBA::ULong purge_last)
Requestsoperator= (const Requests &rhs)
 Requests (const Requests &rhs)

Private Attributes

TAO_ECG_UDP_Request_Entry ** fragmented_requests_
size_t size_
 Size of <fragmented_requests_> array.
size_t min_purge_count_
 Minimum range shifting amount.
CORBA::ULong id_range_low_
CORBA::ULong id_range_high_

Detailed Description

Once init() has been called: Invariant: id_range_high_- id_range_low_ == size_ - 1


Constructor & Destructor Documentation

TAO_ECG_CDR_Message_Receiver::Requests::Requests ( void  )
TAO_ECG_CDR_Message_Receiver::Requests::~Requests ( void  )
TAO_ECG_CDR_Message_Receiver::Requests::Requests ( const Requests rhs) [private]

Member Function Documentation

TAO_ECG_UDP_Request_Entry ** TAO_ECG_CDR_Message_Receiver::Requests::get_request ( CORBA::ULong  request_id)

Returns pointer to a <fragmented_requests_> element representing <request_id>. If <request_id> < <id_range_low> return 0. If <request_id> > <id_range_high>, shift the range so it includes <request_id>, purging incomplete requests as needed.

int TAO_ECG_CDR_Message_Receiver::Requests::init ( size_t  size,
size_t  min_purge_count 
)

Allocates and initializes <fragmented_requests_>.

Requests& TAO_ECG_CDR_Message_Receiver::Requests::operator= ( const Requests rhs) [private]
void TAO_ECG_CDR_Message_Receiver::Requests::purge_requests ( CORBA::ULong  purge_first,
CORBA::ULong  purge_last 
) [private]

Delete any outstanding requests with ids in the range [<purge_first>, <purge_last>] from <fragmented_requests> and and reset their slots.


Member Data Documentation

Array, used in a circular fashion, that stores partially received requests (and info on which requests have been fully received and processed) for a range of request ids.

The range of request ids, currently represented in <fragmented_requests>.

The range of request ids, currently represented in <fragmented_requests>.

Minimum range shifting amount.

Size of <fragmented_requests_> array.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines