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

# ACE_RMCast_Partial_Message Class Reference

`#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.
int | is_complete (void) const
| Return 1 if the message is complete.
ACE_Message_Block * | message_body (void)
## Private Methods
int | insert_hole (size_t i, ACE_UINT32 start, ACE_UINT32 end)
| Insert a new hole into the list.
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

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