Agora  1.2.0
Agora project
Agora_recorder::RecorderThread Class Reference

#include <recorder_thread.h>

Collaboration diagram for Agora_recorder::RecorderThread:

Public Member Functions

 RecorderThread (const Config *in_cfg, size_t thread_id, int core, size_t queue_size, size_t antenna_offset, size_t num_antennas, size_t interval, Direction rx_direction, const std::vector< RecorderWorker::RecorderWorkerTypes > &types, bool wait_signal=true)
 
 ~RecorderThread ()
 
void Start ()
 
void Stop ()
 
bool DispatchWork (const EventData &event)
 

Private Member Functions

void DoRecording ()
 
void HandleEvent (const EventData &event)
 
void Finalize ()
 

Private Attributes

moodycamel::ConcurrentQueue< EventDataevent_queue_
 
moodycamel::ProducerToken producer_token_
 
std::vector< std::unique_ptr< RecorderWorker > > workers_
 
std::thread thread_
 
size_t id_
 
int core_alloc_
 
bool wait_signal_
 
std::mutex sync_
 
std::condition_variable condition_
 
bool running_
 

Constructor & Destructor Documentation

◆ RecorderThread()

Agora_recorder::RecorderThread::RecorderThread ( const Config in_cfg,
size_t  thread_id,
int  core,
size_t  queue_size,
size_t  antenna_offset,
size_t  num_antennas,
size_t  interval,
Direction  rx_direction,
const std::vector< RecorderWorker::RecorderWorkerTypes > &  types,
bool  wait_signal = true 
)

Create Workers

Here is the call graph for this function:

◆ ~RecorderThread()

Agora_recorder::RecorderThread::~RecorderThread ( )
Here is the call graph for this function:

Member Function Documentation

◆ DispatchWork()

bool Agora_recorder::RecorderThread::DispatchWork ( const EventData event)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoRecording()

void Agora_recorder::RecorderThread::DoRecording ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Finalize()

void Agora_recorder::RecorderThread::Finalize ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ HandleEvent()

void Agora_recorder::RecorderThread::HandleEvent ( const EventData event)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Start()

void Agora_recorder::RecorderThread::Start ( )
Here is the call graph for this function:

◆ Stop()

void Agora_recorder::RecorderThread::Stop ( )
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ condition_

std::condition_variable Agora_recorder::RecorderThread::condition_
private

◆ core_alloc_

int Agora_recorder::RecorderThread::core_alloc_
private

◆ event_queue_

moodycamel::ConcurrentQueue<EventData> Agora_recorder::RecorderThread::event_queue_
private

◆ id_

size_t Agora_recorder::RecorderThread::id_
private

◆ producer_token_

moodycamel::ProducerToken Agora_recorder::RecorderThread::producer_token_
private

◆ running_

bool Agora_recorder::RecorderThread::running_
private

◆ sync_

std::mutex Agora_recorder::RecorderThread::sync_
private

◆ thread_

std::thread Agora_recorder::RecorderThread::thread_
private

◆ wait_signal_

bool Agora_recorder::RecorderThread::wait_signal_
private

◆ workers_

std::vector<std::unique_ptr<RecorderWorker> > Agora_recorder::RecorderThread::workers_
private

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