Agora  1.2.0
Agora project
RadioDataPlaneSoapy Class Reference

#include <radio_data_plane_soapy.h>

Inheritance diagram for RadioDataPlaneSoapy:
Collaboration diagram for RadioDataPlaneSoapy:

Public Member Functions

 RadioDataPlaneSoapy ()
 
 RadioDataPlaneSoapy (RadioDataPlaneSoapy &&) noexcept=default
 
 RadioDataPlaneSoapy (const RadioDataPlaneSoapy &)=delete
 
 ~RadioDataPlaneSoapy () final=default
 
void Init (Radio *radio, const Config *cfg, bool hw_framer) final
 
void Setup () final
 
void Activate (Radio::ActivationTypes type=Radio::ActivationTypes::kActivate, long long act_time_ns=0, size_t samples=0) final
 
void Deactivate () final
 
void Close () final
 
int Rx (std::vector< std::vector< std::complex< int16_t >>> &rx_data, size_t rx_size, Radio::RxFlags &out_flags, long long &rx_time_ns) final
 
int Rx (std::vector< std::vector< std::complex< int16_t >> * > &rx_buffs, size_t rx_size, Radio::RxFlags &out_flags, long long &rx_time_ns) final
 
int Rx (std::vector< void * > &rx_locations, size_t rx_size, Radio::RxFlags &out_flags, long long &rx_time_ns) final
 
void Flush () final
 
- Public Member Functions inherited from RadioDataPlane
virtual ~RadioDataPlane ()
 
 RadioDataPlane (RadioDataPlane &&) noexcept=delete
 
 RadioDataPlane (const RadioDataPlane &)=delete
 

Additional Inherited Members

- Public Types inherited from RadioDataPlane
enum  DataPlaneType { kSoapyStream, kLinuxSocket }
 
enum  Mode { kModeUninit, kModeShutdown, kModeDeactive, kModeActive }
 
- Static Public Member Functions inherited from RadioDataPlane
static std::unique_ptr< RadioDataPlaneCreate (DataPlaneType type)
 
- Protected Member Functions inherited from RadioDataPlane
 RadioDataPlane ()
 
virtual void Setup (const SoapySDR::Kwargs &args)
 
const ConfigConfiguration () const
 
const ModeCheckMode () const
 
const bool & HwFramer () const
 
- Protected Attributes inherited from RadioDataPlane
Radioradio_ {nullptr}
 
SoapySDR::Stream * remote_stream_ {nullptr}
 

Constructor & Destructor Documentation

◆ RadioDataPlaneSoapy() [1/3]

RadioDataPlaneSoapy::RadioDataPlaneSoapy ( )
default

◆ RadioDataPlaneSoapy() [2/3]

RadioDataPlaneSoapy::RadioDataPlaneSoapy ( RadioDataPlaneSoapy &&  )
defaultnoexcept

◆ RadioDataPlaneSoapy() [3/3]

RadioDataPlaneSoapy::RadioDataPlaneSoapy ( const RadioDataPlaneSoapy )
explicitdelete

◆ ~RadioDataPlaneSoapy()

RadioDataPlaneSoapy::~RadioDataPlaneSoapy ( )
finaldefault

Member Function Documentation

◆ Activate()

void RadioDataPlaneSoapy::Activate ( Radio::ActivationTypes  type = Radio::ActivationTypes::kActivate,
long long  act_time_ns = 0,
size_t  samples = 0 
)
inlinefinalvirtual

Implements RadioDataPlane.

Here is the call graph for this function:

◆ Close()

void RadioDataPlaneSoapy::Close ( )
inlinefinalvirtual

Implements RadioDataPlane.

Here is the call graph for this function:

◆ Deactivate()

void RadioDataPlaneSoapy::Deactivate ( )
inlinefinalvirtual

Implements RadioDataPlane.

Here is the call graph for this function:

◆ Flush()

void RadioDataPlaneSoapy::Flush ( )
finalvirtual

Implements RadioDataPlane.

Here is the call graph for this function:

◆ Init()

void RadioDataPlaneSoapy::Init ( Radio radio,
const Config cfg,
bool  hw_framer 
)
finalvirtual

Implements RadioDataPlane.

Here is the call graph for this function:

◆ Rx() [1/3]

int RadioDataPlaneSoapy::Rx ( std::vector< std::vector< std::complex< int16_t >> * > &  rx_buffs,
size_t  rx_size,
Radio::RxFlags out_flags,
long long &  rx_time_ns 
)
finalvirtual

Implements RadioDataPlane.

Here is the call graph for this function:

◆ Rx() [2/3]

int RadioDataPlaneSoapy::Rx ( std::vector< std::vector< std::complex< int16_t >>> &  rx_data,
size_t  rx_size,
Radio::RxFlags out_flags,
long long &  rx_time_ns 
)
finalvirtual

Implements RadioDataPlane.

Here is the caller graph for this function:

◆ Rx() [3/3]

int RadioDataPlaneSoapy::Rx ( std::vector< void * > &  rx_locations,
size_t  rx_size,
Radio::RxFlags out_flags,
long long &  rx_time_ns 
)
finalvirtual

rx_samples == rx_size

If a timeout occurs tell the requester there are 0 bytes

Implements RadioDataPlane.

Here is the call graph for this function:

◆ Setup()

void RadioDataPlaneSoapy::Setup ( )
inlinefinalvirtual

Implements RadioDataPlane.

Here is the call graph for this function:

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