|
Hybrid ICN (hICN) plugin
v21.06-rc0-4-g18fa668
|
#include <rs.h>


Public Member Functions | |
| rs (uint32_t k, uint32_t n, uint32_t seq_offset=0) | |
| virtual void | clear () |
| bool | isSymbol (uint32_t index) |
Public Member Functions inherited from transport::protocol::fec::FECBase | |
| virtual std::size_t | getFecHeaderSize ()=0 |
| Get size of FEC header. | |
| template<typename Handler > | |
| void | setFECCallback (Handler &&callback) |
| template<typename Handler > | |
| void | setBufferCallback (Handler &&buffer_callback) |
| virtual void | reset ()=0 |
Protected Types | |
| using | PacketsReady = std::function< void(std::vector< buffer > &)> |
| using | SNBase = std::uint32_t |
| using | SourceBlocks = std::unordered_map< SNBase, BlockCode > |
| using | Codes = std::unordered_map< Code, Matrix, CodeHasher > |
Protected Member Functions | |
| bool | processed (SNBase seq_base) |
| void | setProcessed (SNBase seq_base) |
Protected Attributes | |
| std::uint32_t | k_ |
| std::uint32_t | n_ |
| std::uint32_t | seq_offset_ |
| std::unordered_set< SNBase > | processed_source_blocks_ |
Protected Attributes inherited from transport::protocol::fec::FECBase | |
| PacketsReady | fec_callback_ {0} |
| BufferRequested | buffer_callback_ {0} |
Static Protected Attributes | |
| static Codes | codes_ |
Friends | |
| class | BlockCode |
Additional Inherited Members | |
Public Types inherited from transport::protocol::fec::FECBase | |
| using | PacketsReady = std::function< void(BufferArray &)> |
| using | BufferRequested = std::function< buffer(std::size_t size)> |
This class contains common parameters between the fec encoder and decoder. In particular it contains:
|
protected |
Map (k, n) -> reed-solomon parameter
|
protected |
Callback to be called after the encode or the decode operations. In the former case it will contain the symbols, while in the latter the sources.
|
protected |
The sequence number base.
|
protected |
The map of source blocks, used at the decoder side. For the encoding operation we can use one source block only, since packet are produced in order.
|
protected |
Keep track of processed source blocks
1.8.17