Agora  1.2.0
Agora project
RadioDataPlane Class Referenceabstract

#include <radio_data_plane.h>

Inheritance diagram for RadioDataPlane:
Collaboration diagram for RadioDataPlane:

Public Types

enum  DataPlaneType { kSoapyStream, kLinuxSocket }
 
enum  Mode { kModeUninit, kModeShutdown, kModeDeactive, kModeActive }
 

Public Member Functions

virtual ~RadioDataPlane ()
 
 RadioDataPlane (RadioDataPlane &&) noexcept=delete
 
 RadioDataPlane (const RadioDataPlane &)=delete
 
virtual void Init (Radio *radio, const Config *cfg, bool hw_framer)=0
 
virtual void Setup ()=0
 
virtual void Activate (Radio::ActivationTypes type=Radio::ActivationTypes::kActivate, long long act_time_ns=0, size_t samples=0)=0
 
virtual void Deactivate ()=0
 
virtual void Close ()=0
 
virtual 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)=0
 
virtual 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)=0
 
virtual int Rx (std::vector< void * > &rx_locations, size_t rx_size, Radio::RxFlags &out_flags, long long &rx_time_ns)=0
 
virtual void Flush ()=0
 

Static Public Member Functions

static std::unique_ptr< RadioDataPlaneCreate (DataPlaneType type)
 

Protected Member Functions

 RadioDataPlane ()
 
virtual void Setup (const SoapySDR::Kwargs &args)
 
const ConfigConfiguration () const
 
const ModeCheckMode () const
 
const bool & HwFramer () const
 

Protected Attributes

Radioradio_ {nullptr}
 
SoapySDR::Stream * remote_stream_ {nullptr}
 

Private Attributes

Mode mode_ {kModeUninit}
 
const Configcfg_
 
bool hw_framer_
 

Member Enumeration Documentation

◆ DataPlaneType

Enumerator
kSoapyStream 
kLinuxSocket 

◆ Mode

Enumerator
kModeUninit 
kModeShutdown 
kModeDeactive 
kModeActive 

Constructor & Destructor Documentation

◆ ~RadioDataPlane()

RadioDataPlane::~RadioDataPlane ( )
virtual
Here is the call graph for this function:

◆ RadioDataPlane() [1/3]

RadioDataPlane::RadioDataPlane ( RadioDataPlane &&  )
deletenoexcept

◆ RadioDataPlane() [2/3]

RadioDataPlane::RadioDataPlane ( const RadioDataPlane )
explicitdelete

◆ RadioDataPlane() [3/3]

RadioDataPlane::RadioDataPlane ( )
protecteddefault

Member Function Documentation

◆ Activate()

void RadioDataPlane::Activate ( Radio::ActivationTypes  type = Radio::ActivationTypes::kActivate,
long long  act_time_ns = 0,
size_t  samples = 0 
)
pure virtual

Implemented in RadioDataPlaneSocket, and RadioDataPlaneSoapy.

Here is the caller graph for this function:

◆ CheckMode()

const Mode& RadioDataPlane::CheckMode ( ) const
inlineprotected
Here is the caller graph for this function:

◆ Close()

void RadioDataPlane::Close ( )
pure virtual

Implemented in RadioDataPlaneSocket, and RadioDataPlaneSoapy.

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

◆ Configuration()

const Config* RadioDataPlane::Configuration ( ) const
inlineprotected
Here is the caller graph for this function:

◆ Create()

std::unique_ptr< RadioDataPlane > RadioDataPlane::Create ( RadioDataPlane::DataPlaneType  type)
static

◆ Deactivate()

void RadioDataPlane::Deactivate ( )
pure virtual

Implemented in RadioDataPlaneSocket, and RadioDataPlaneSoapy.

Here is the caller graph for this function:

◆ Flush()

virtual void RadioDataPlane::Flush ( )
pure virtual

◆ HwFramer()

const bool& RadioDataPlane::HwFramer ( ) const
inlineprotected
Here is the caller graph for this function:

◆ Init()

void RadioDataPlane::Init ( Radio radio,
const Config cfg,
bool  hw_framer 
)
pure virtual

Implemented in RadioDataPlaneSocket, and RadioDataPlaneSoapy.

Here is the caller graph for this function:

◆ Rx() [1/3]

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

◆ Rx() [2/3]

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

◆ Rx() [3/3]

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

◆ Setup() [1/2]

void RadioDataPlane::Setup ( )
pure virtual

Implemented in RadioDataPlaneSocket, and RadioDataPlaneSoapy.

Here is the caller graph for this function:

◆ Setup() [2/2]

void RadioDataPlane::Setup ( const SoapySDR::Kwargs &  args)
protectedvirtual
Here is the call graph for this function:

Member Data Documentation

◆ cfg_

const Config* RadioDataPlane::cfg_
private

◆ hw_framer_

bool RadioDataPlane::hw_framer_
private

◆ mode_

Mode RadioDataPlane::mode_ {kModeUninit}
private

◆ radio_

Radio* RadioDataPlane::radio_ {nullptr}
protected

◆ remote_stream_

SoapySDR::Stream* RadioDataPlane::remote_stream_ {nullptr}
protected

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