Menu

famouso::mw::afp::frag::FECFragmenter< FCP > Class Template Reference

Fragmentation supporting generation of forward error correction redundancy. More...

#include <FECFragmenter.h>

Inheritance diagram for famouso::mw::afp::frag::FECFragmenter< FCP >:
famouso::mw::afp::frag::NoFECFragmenter< FCP >

Public Types

enum  { min_header_length = Base::min_header_length + FEC::header_length }
 

Minimum header length.

More...
enum  { extension_header_length = Base::extension_header_length + FEC::header_length }
 

Extension header's length.

More...

Public Member Functions

void init (const uint8_t *event_data, elen_t event_length, flen_t mtu)
 Init a new fragmenter for an event.
flen_t get_fragment (uint8_t *fragment_data)
 Write next fragment to fragment_data buffer.

Protected Attributes

FEC fec
 FEC redundancy generator.
bool redundancy
 Will this event contain FEC redundancy?

Detailed Description

template<class FCP>
class famouso::mw::afp::frag::FECFragmenter< FCP >

Fragmentation supporting generation of forward error correction redundancy.

For all fragments the payload length is constant (the last non-redundancy fragment may be smaller), because the used FEC algorithm needs equal block size. As the header length may vary between fragments, the full MTU is not used in many cases.


Member Enumeration Documentation

template<class FCP >
anonymous enum

Minimum header length.

Enumerator:
min_header_length 
template<class FCP >
anonymous enum

Extension header's length.

Enumerator:
extension_header_length 

Member Function Documentation


Field Documentation

template<class FCP >
bool famouso::mw::afp::frag::FECFragmenter< FCP >::redundancy [protected]

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