Agora  1.2.0
Agora project
DoEncode Class Reference

#include <doencode.h>

Inheritance diagram for DoEncode:
Collaboration diagram for DoEncode:

Public Member Functions

 DoEncode (Config *in_config, int in_tid, Direction dir, Table< int8_t > &in_raw_data_buffer, size_t in_buffer_rollover, Table< int8_t > &in_mod_bits_buffer, Stats *in_stats_manager)
 
 ~DoEncode () override
 
EventData Launch (size_t tag) override
 
- Public Member Functions inherited from Doer
virtual bool TryLaunch (moodycamel::ConcurrentQueue< EventData > &task_queue, moodycamel::ConcurrentQueue< EventData > &complete_task_queue, moodycamel::ProducerToken *worker_ptok)
 
virtual EventData Launch (size_t tag, EventType event_type)
 

Private Attributes

Direction dir_
 
Table< int8_t > & raw_data_buffer_
 
size_t raw_buffer_rollover_
 
Table< int8_t > & mod_bits_buffer_
 
int8_t * parity_buffer_
 
int8_t * encoded_buffer_temp_
 
int8_t * scrambler_buffer_
 
DurationStatduration_stat_
 
std::unique_ptr< AgoraScrambler::Scramblerscrambler_
 

Additional Inherited Members

- Protected Member Functions inherited from Doer
 Doer (Config *in_config, int in_tid)
 
virtual ~Doer ()=default
 
- Protected Attributes inherited from Doer
Configcfg_
 
int tid_
 

Constructor & Destructor Documentation

◆ DoEncode()

DoEncode::DoEncode ( Config in_config,
int  in_tid,
Direction  dir,
Table< int8_t > &  in_raw_data_buffer,
size_t  in_buffer_rollover,
Table< int8_t > &  in_mod_bits_buffer,
Stats in_stats_manager 
)
Here is the call graph for this function:

◆ ~DoEncode()

DoEncode::~DoEncode ( )
override

Member Function Documentation

◆ Launch()

EventData DoEncode::Launch ( size_t  tag)
overridevirtual

The main event handling function that performs Doer-specific work. Doers that handle only one event type use this signature.

Todo:
Remove the IsUe condition and make GetMacBits and GetInfoBits universal with raw_buffer_rollover_ the parameter.

Reimplemented from Doer.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ dir_

Direction DoEncode::dir_
private

◆ duration_stat_

DurationStat* DoEncode::duration_stat_
private

◆ encoded_buffer_temp_

int8_t* DoEncode::encoded_buffer_temp_
private

◆ mod_bits_buffer_

Table<int8_t>& DoEncode::mod_bits_buffer_
private

◆ parity_buffer_

int8_t* DoEncode::parity_buffer_
private

◆ raw_buffer_rollover_

size_t DoEncode::raw_buffer_rollover_
private

◆ raw_data_buffer_

Table<int8_t>& DoEncode::raw_data_buffer_
private

◆ scrambler_

std::unique_ptr<AgoraScrambler::Scrambler> DoEncode::scrambler_
private

◆ scrambler_buffer_

int8_t* DoEncode::scrambler_buffer_
private

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