Agora  1.2.0
Agora project
Agora_recorder::RecorderWorkerHDF5 Class Reference

#include <recorder_worker_hdf5.h>

Inheritance diagram for Agora_recorder::RecorderWorkerHDF5:
Collaboration diagram for Agora_recorder::RecorderWorkerHDF5:

Public Member Functions

 RecorderWorkerHDF5 (const Config *in_cfg, size_t antenna_offset, size_t num_antennas, size_t record_interval, Direction rx_direction)
 
 ~RecorderWorkerHDF5 () override
 
void Init () final
 
void Finalize () final
 
int Record (const Packet *pkt) final
 
size_t NumAntennas () const final
 
size_t AntennaOffset () const final
 
- Public Member Functions inherited from Agora_recorder::RecorderWorker
 RecorderWorker ([[maybe_unused]] const Config *in_cfg, [[maybe_unused]] size_t antenna_offset, [[maybe_unused]] size_t num_antennas, [[maybe_unused]] size_t record_interval, [[maybe_unused]] Direction rx_direction)
 
virtual ~RecorderWorker ()=default
 

Private Member Functions

void Open ()
 
void Close ()
 
void WriteDatasetValue (const Packet *pkt, size_t symbol_index, size_t dataset_index)
 

Private Attributes

const Configcfg_
 
size_t antenna_offset_
 
size_t num_antennas_
 
size_t interval_
 
Direction rx_direction_
 
std::unique_ptr< Hdf5Libhdf5_
 
size_t max_frame_number_
 
std::vector< std::pair< std::string, std::array< hsize_t, kDsDimsNum > > > datasets_
 
const std::array< hsize_t, kDsDimsNumdata_chunk_dims_
 

Additional Inherited Members

- Public Types inherited from Agora_recorder::RecorderWorker
enum  RecorderWorkerTypes { kRecorderWorkerMultiFile, kRecorderWorkerHdf5 }
 
- Static Public Member Functions inherited from Agora_recorder::RecorderWorker
static std::unique_ptr< RecorderWorkerCreate (RecorderWorkerTypes type, const Config *in_cfg, size_t antenna_offset, size_t num_antennas, size_t record_interval, Direction rx_direction)
 Factory function to make concrete worker. More...
 

Constructor & Destructor Documentation

◆ RecorderWorkerHDF5()

Agora_recorder::RecorderWorkerHDF5::RecorderWorkerHDF5 ( const Config in_cfg,
size_t  antenna_offset,
size_t  num_antennas,
size_t  record_interval,
Direction  rx_direction 
)
explicit
Here is the call graph for this function:

◆ ~RecorderWorkerHDF5()

Agora_recorder::RecorderWorkerHDF5::~RecorderWorkerHDF5 ( )
overridedefault

Member Function Documentation

◆ AntennaOffset()

size_t Agora_recorder::RecorderWorkerHDF5::AntennaOffset ( ) const
inlinefinalvirtual

Reimplemented from Agora_recorder::RecorderWorker.

◆ Close()

void Agora_recorder::RecorderWorkerHDF5::Close ( )
private

◆ Finalize()

void Agora_recorder::RecorderWorkerHDF5::Finalize ( )
finalvirtual

◆ Init()

void Agora_recorder::RecorderWorkerHDF5::Init ( )
finalvirtual

◆ NumAntennas()

size_t Agora_recorder::RecorderWorkerHDF5::NumAntennas ( ) const
inlinefinalvirtual

Reimplemented from Agora_recorder::RecorderWorker.

◆ Open()

void Agora_recorder::RecorderWorkerHDF5::Open ( )
private

◆ Record()

int Agora_recorder::RecorderWorkerHDF5::Record ( const Packet pkt)
finalvirtual

Implements Agora_recorder::RecorderWorker.

Here is the call graph for this function:

◆ WriteDatasetValue()

void Agora_recorder::RecorderWorkerHDF5::WriteDatasetValue ( const Packet pkt,
size_t  symbol_index,
size_t  dataset_index 
)
private

If the frame id is > than the current 0 indexed dimension then we need to extend

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

Member Data Documentation

◆ antenna_offset_

size_t Agora_recorder::RecorderWorkerHDF5::antenna_offset_
private

◆ cfg_

const Config* Agora_recorder::RecorderWorkerHDF5::cfg_
private

◆ data_chunk_dims_

const std::array<hsize_t, kDsDimsNum> Agora_recorder::RecorderWorkerHDF5::data_chunk_dims_
private

◆ datasets_

std::vector<std::pair<std::string, std::array<hsize_t, kDsDimsNum> > > Agora_recorder::RecorderWorkerHDF5::datasets_
private

◆ hdf5_

std::unique_ptr<Hdf5Lib> Agora_recorder::RecorderWorkerHDF5::hdf5_
private

◆ interval_

size_t Agora_recorder::RecorderWorkerHDF5::interval_
private

◆ max_frame_number_

size_t Agora_recorder::RecorderWorkerHDF5::max_frame_number_
private

◆ num_antennas_

size_t Agora_recorder::RecorderWorkerHDF5::num_antennas_
private

◆ rx_direction_

Direction Agora_recorder::RecorderWorkerHDF5::rx_direction_
private

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