famouso::mw::afp::defrag::FECEventDataReconstructor< DCP > Class Template Reference
Policy: Reconstruct event data from fragments supporting forward error correction. More...
#include <FECEventDataReconstructor.h>
Public Types | |
typedef FECHeaderSupport< DCP > | FECHeaderPolicy |
Public Member Functions | |
FECEventDataReconstructor (flen_t no_ext_mtu) | |
Constructor. | |
~FECEventDataReconstructor () | |
Destructor. | |
void | put_fragment (const Headers< DCP > &header, const uint8_t *data, flen_t length) |
Process new fragment. | |
bool | is_complete () |
Returns whether the event can be reconstructed completely. | |
uint8_t * | get_data () |
Returns the defragmented data block. | |
elen_t | get_length () |
Returns the length of the event's data. |
Detailed Description
template<class DCP>
class famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >
Policy: Reconstruct event data from fragments supporting forward error correction.
Currently not supported on AVR platform.
Using this policy automatically selects FECHeaderSupport as FEC header policy.
Alternative policies: OutOfOrderEventDataReconstructor, InOrderEventDataReconstructor
Member Typedef Documentation
typedef FECHeaderSupport<DCP> famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::FECHeaderPolicy |
Reimplemented from famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >.
Constructor & Destructor Documentation
famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::FECEventDataReconstructor | ( | flen_t | no_ext_mtu | ) | [inline] |
Constructor.
- Parameters:
-
no_ext_mtu MTU minus extension header's length
famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::~FECEventDataReconstructor | ( | ) | [inline] |
Destructor.
References famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::arrived_fragment_count, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_data, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_fragment_count, famouso::mw::afp::defrag::Statistics< Tag >::event_incomplete(), famouso::mw::afp::defrag::Statistics< Tag >::fragments_currently_expected_sub(), and famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::is_complete().
Member Function Documentation
uint8_t* famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::get_data | ( | ) | [inline] |
Returns the defragmented data block.
- Precondition:
- is_complete() returns true
Reimplemented from famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >.
References famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_data, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_fragment_count, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_length, FAMOUSO_ASSERT, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::get_data(), famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::is_complete(), and famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::no_ext_mtu.
elen_t famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::get_length | ( | ) | [inline] |
Returns the length of the event's data.
- Precondition:
- is_complete() returns true
Reimplemented from famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >.
References famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_length, FAMOUSO_ASSERT, and famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::is_complete().
bool famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::is_complete | ( | ) | [inline] |
Returns whether the event can be reconstructed completely.
Reimplemented from famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >.
References famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::arrived_fragment_count, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::error(), and famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::is_complete().
Referenced by famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::get_data(), famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::get_length(), famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::put_fragment(), and famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::~FECEventDataReconstructor().
void famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::put_fragment | ( | const Headers< DCP > & | header, | |
const uint8_t * | data, | |||
flen_t | length | |||
) | [inline] |
Process new fragment.
- Parameters:
-
header AFP header of the fragment data Payload data of the fragment length Payload data length of the fragment
Reimplemented from famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >.
References famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::arrived_fragment_count, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::error(), famouso::mw::afp::defrag::Statistics< Tag >::event_complete(), famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_fragment_count, famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::event_length, FAMOUSO_ASSERT, famouso::mw::afp::defrag::Headers< DCP >::fec, FOR_FAMOUSO_ASSERT_ONLY, famouso::mw::afp::defrag::Statistics< Tag >::fragment_used(), famouso::mw::afp::defrag::Statistics< Tag >::fragments_currently_expected_add(), famouso::mw::afp::defrag::Statistics< Tag >::fragments_currently_expected_sub(), famouso::mw::afp::defrag::Statistics< Tag >::fragments_expected(), famouso::mw::afp::defrag::Headers< DCP >::fseq, famouso::mw::afp::defrag::detail::VarHeaderLength< DCP >::get_basic_header_len(), famouso::mw::afp::defrag::FECEventDataReconstructor< DCP >::is_complete(), famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::no_ext_mtu, and famouso::mw::afp::defrag::OutOfOrderEventDataReconstructor< DCP >::put_fragment().
The documentation for this class was generated from the following file:
- include/mw/afp/defrag/FECEventDataReconstructor.h