Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# ACE_RMCast_Partial_Message Class Reference

Represent a partially received message in the ACE_RMCast_Reassembly module. More...

`#include <RMCast_Partial_Message.h>`

Collaboration diagram for ACE_RMCast_Partial_Message:

[legend]
List of all members.

## Public Methods
| ACE_RMCast_Partial_Message (ACE_UINT32 message_size)
| Constructor, reserve enough memory for the complete message.
| ~ACE_RMCast_Partial_Message (void)
| Destructor.
int | fragment_received (ACE_UINT32 message_size, ACE_UINT32 offset, ACE_Message_Block *mb)
| Process a fragment. More...
int | is_complete (void) const
| Return 1 if the message is complete.
ACE_Message_Block* | message_body (void)
| Return the body of the message, the memory is *not* owned by the caller.
## Private Methods
int | insert_hole (size_t i, ACE_UINT32 start, ACE_UINT32 end)
| Insert a new hole into the list. More...
int | remove_hole (size_t i)
| Remove a hole from the list.
## Private Attributes
ACE_Message_Block | message_body_
| Maintain the message storage.
Hole* | hole_list_
size_t | max_hole_count_
size_t | hole_count_

## Detailed Description

Represent a partially received message in the ACE_RMCast_Reassembly module.

This class provides temporary storage for the fragments as they are received in the ACE_RMCast_Reassembly module. It also keeps track of what portions of the message are still missing.

## Constructor & Destructor Documentation

ACE_RMCast_Partial_Message::ACE_RMCast_Partial_Message ( | ACE_UINT32 message_size )

| Constructor, reserve enough memory for the complete message.

ACE_RMCast_Partial_Message::~ACE_RMCast_Partial_Message ( | void )

| Destructor.

## Member Function Documentation

int ACE_RMCast_Partial_Message::fragment_received ( | ACE_UINT32 message_size,
| ACE_UINT32 offset,
| ACE_Message_Block * mb )

| Process a fragment. A fragment starting at <offset> has been received, copy the fragment contents and update the list of holes.

int ACE_RMCast_Partial_Message::insert_hole ( | size_t i,
| ACE_UINT32 start,
| ACE_UINT32 end )`[private]`

| Insert a new hole into the list. The class keeps an array to represent the missing portions of the message. This method inserts a new hole, i.e. a new element in the array at index . The <start> and <end> arguments represent the offsets of the missing portion of the message.

ACE_INLINE int ACE_RMCast_Partial_Message::is_complete ( | void ) const

| Return 1 if the message is complete.

ACE_INLINE ACE_Message_Block * ACE_RMCast_Partial_Message::message_body ( | void )

| Return the body of the message, the memory is *not* owned by the caller.

int ACE_RMCast_Partial_Message::remove_hole ( | size_t i )`[private]`

| Remove a hole from the list.

## Member Data Documentation

size_t ACE_RMCast_Partial_Message::hole_count_`[private]`

Hole * ACE_RMCast_Partial_Message::hole_list_`[private]`

size_t ACE_RMCast_Partial_Message::max_hole_count_`[private]`

ACE_Message_Block ACE_RMCast_Partial_Message::message_body_`[private]`

| Maintain the message storage.

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

- RMCast_Partial_Message.h
- RMCast_Partial_Message.cpp
- RMCast_Partial_Message.i