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

# ACE_RMCast_Fragment Class Reference

Fragmentation module. More...

`#include <RMCast_Fragment.h>`

Inheritance diagram for ACE_RMCast_Fragment:

[legend]
Collaboration diagram for ACE_RMCast_Fragment:

[legend]
List of all members.

## Public Methods
| ACE_RMCast_Fragment (void)
| Constructor. More...
virtual | ~ACE_RMCast_Fragment (void)
| Destructor. More...
size_t | max_fragment_size (void) const
| Accessor for the max_fragment size. More...
virtual int | data (ACE_RMCast::Data &data)
## Private Attributes
size_t | max_fragment_size_
| Current fragment size limit. More...

## Detailed Description

Fragmentation module.

Some transports cannot send very big messages, for example UDP imposes a limit of 64K, and in practice the limit is even more strict than that. This class decomposes a message into multiple fragments, using an application defined maximum size.

## Constructor & Destructor Documentation

ACE_RMCast_Fragment::ACE_RMCast_Fragment | ( | void |  | ) |

| Constructor.

ACE_RMCast_Fragment::~ACE_RMCast_Fragment | ( | void |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

int ACE_RMCast_Fragment::data | ( | ACE_RMCast::Data & | received_data | ) | `[virtual]`

| Only data messages need fragmentation, the control messages are all small enough for all the transports that I know about. Well, actually for CAN-Bus (Controller Area Network), they may be too big, because the max payload there is 8 bytes, but we don't play with those in ACE. Reimplemented from ACE_RMCast_Module.

ACE_INLINE size_t ACE_RMCast_Fragment::max_fragment_size | ( | void |  | ) | const

| Accessor for the max_fragment size. There is no modifier, the maximum fragment size is obtained using feedback from the lower layers (transport?) @TODO We have not implemented the feedback mechanisms yet!

## Member Data Documentation

size_t ACE_RMCast_Fragment::max_fragment_size_`[private]`

| Current fragment size limit.

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

- RMCast_Fragment.h
- RMCast_Fragment.cpp
- RMCast_Fragment.i