TAO_RTEvent 4.0.2
Loading...
Searching...
No Matches
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
[legend]

Public Member Functions

 Requests ()
 
 ~Requests ()
 
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.
 
CORBA::ULong id_range_low_
 
CORBA::ULong id_range_high_
 
size_t min_purge_count_
 Minimum range shifting amount.
 

Detailed Description

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

Constructor & Destructor Documentation

◆ Requests() [1/2]

TAO_ECG_CDR_Message_Receiver::Requests::Requests ( )

◆ ~Requests()

TAO_ECG_CDR_Message_Receiver::Requests::~Requests ( )

◆ Requests() [2/2]

TAO_ECG_CDR_Message_Receiver::Requests::Requests ( const Requests & rhs)
private

Member Function Documentation

◆ get_request()

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.

◆ init()

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

Allocates and initializes <fragmented_requests_>.

◆ operator=()

Requests & TAO_ECG_CDR_Message_Receiver::Requests::operator= ( const Requests & rhs)
private

◆ purge_requests()

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

◆ fragmented_requests_

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.

◆ id_range_high_

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

◆ id_range_low_

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

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

◆ min_purge_count_

size_t TAO_ECG_CDR_Message_Receiver::Requests::min_purge_count_
private

Minimum range shifting amount.

◆ size_

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: