Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Classes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
transport::protocol::fec::RelyBase Class Reference

Base class to store common fields. More...

#include <rely.h>

Inheritance diagram for transport::protocol::fec::RelyBase:
Inheritance graph
[legend]
Collaboration diagram for transport::protocol::fec::RelyBase:
Collaboration graph
[legend]

Classes

struct  fec_header
 FEC Header, added to each packet to get sequence number upon decoding operations. It may be removed once we know the meaning of the fields in the rely header. More...
 

Protected Member Functions

 RelyBase (uint32_t k, uint32_t n, uint32_t seq_offset=0)
 Construct a new Rely Base object. More...
 
int64_t getCurrentTime ()
 Get the current time in milliseconds. More...
 

Protected Attributes

uint32_t k_
 
uint32_t n_
 
std::uint32_t seq_offset_
 
std::vector< std::pair< uint32_t, buffer > > packets_
 Vector of packets to be passed to caller callbacks. For encoder it will contain the repair packets, for decoder the recovered sources.
 
uint32_t current_index_
 Current index to be used for local packet count. More...
 
- Protected Attributes inherited from transport::protocol::fec::FECBase
PacketsReady fec_callback_ {0}
 
BufferRequested buffer_callback_ {0}
 

Static Protected Attributes

static const constexpr size_t kmax_stream_size = 125U
 
static const constexpr size_t kmtu = 1500U
 
static const constexpr size_t ktimeout = 100U
 

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)>
 
- 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
 

Detailed Description

Base class to store common fields.

Constructor & Destructor Documentation

◆ RelyBase()

transport::protocol::fec::RelyBase::RelyBase ( uint32_t  k,
uint32_t  n,
uint32_t  seq_offset = 0 
)
inlineprotected

Construct a new Rely Base object.

Parameters
kThe number of source symbol needed to generate n - k repair symbols
nThe sum of source packets and repair packets in a block
seq_offsetoffset to use if production suffixes starts from an index != 0

Member Function Documentation

◆ getCurrentTime()

int64_t transport::protocol::fec::RelyBase::getCurrentTime ( )
inlineprotected

Get the current time in milliseconds.

Returns
int64_t Current time in milliseconds

Member Data Documentation

◆ current_index_

uint32_t transport::protocol::fec::RelyBase::current_index_
protected

Current index to be used for local packet count.


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