TAO_RTEvent  2.2.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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

Public Member Functions

 Requests (void)
 
 ~Requests (void)
 
int init (size_t size, size_t min_purge_count)
 Allocates and initializes <fragmented_requests_>. More...
 
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. More...
 
size_t min_purge_count_
 Minimum range shifting amount. More...
 
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

TAO_ECG_UDP_Request_Entry** TAO_ECG_CDR_Message_Receiver::Requests::fragmented_requests_
private

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.

CORBA::ULong TAO_ECG_CDR_Message_Receiver::Requests::id_range_high_
private

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

CORBA::ULong TAO_ECG_CDR_Message_Receiver::Requests::id_range_low_
private

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

size_t TAO_ECG_CDR_Message_Receiver::Requests::min_purge_count_
private

Minimum range shifting amount.

size_t TAO_ECG_CDR_Message_Receiver::Requests::size_
private

Size of <fragmented_requests_> array.


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