#include <txrx_worker.h>
|
| | TxRxWorker (size_t core_offset, size_t tid, size_t interface_count, size_t interface_offset, size_t channels_per_interface, Config *const config, size_t *rx_frame_start, moodycamel::ConcurrentQueue< EventData > *event_notify_q, moodycamel::ConcurrentQueue< EventData > *tx_pending_q, moodycamel::ProducerToken &tx_producer, moodycamel::ProducerToken ¬ify_producer, std::vector< RxPacket > &rx_memory, std::byte *const tx_memory, std::mutex &sync_mutex, std::condition_variable &sync_cond, std::atomic< bool > &can_proceed) |
| |
| | TxRxWorker ()=delete |
| |
| virtual | ~TxRxWorker () |
| |
| virtual void | Start () |
| |
| virtual void | Stop () |
| |
| virtual void | DoTxRx ()=0 |
| |
| size_t | Id () const |
| |
| bool | Started () const |
| |
| bool | Running () const |
| |
◆ TxRxWorker() [1/2]
| TxRxWorker::TxRxWorker |
( |
size_t |
core_offset, |
|
|
size_t |
tid, |
|
|
size_t |
interface_count, |
|
|
size_t |
interface_offset, |
|
|
size_t |
channels_per_interface, |
|
|
Config *const |
config, |
|
|
size_t * |
rx_frame_start, |
|
|
moodycamel::ConcurrentQueue< EventData > * |
event_notify_q, |
|
|
moodycamel::ConcurrentQueue< EventData > * |
tx_pending_q, |
|
|
moodycamel::ProducerToken & |
tx_producer, |
|
|
moodycamel::ProducerToken & |
notify_producer, |
|
|
std::vector< RxPacket > & |
rx_memory, |
|
|
std::byte *const |
tx_memory, |
|
|
std::mutex & |
sync_mutex, |
|
|
std::condition_variable & |
sync_cond, |
|
|
std::atomic< bool > & |
can_proceed |
|
) |
| |
◆ TxRxWorker() [2/2]
| TxRxWorker::TxRxWorker |
( |
| ) |
|
|
delete |
◆ ~TxRxWorker()
| TxRxWorker::~TxRxWorker |
( |
| ) |
|
|
virtual |
◆ Configuration()
| Config* TxRxWorker::Configuration |
( |
| ) |
|
|
inlineprotected |
◆ DoTxRx()
| virtual void TxRxWorker::DoTxRx |
( |
| ) |
|
|
pure virtual |
◆ GetPendingTxEvents()
| std::vector< EventData > TxRxWorker::GetPendingTxEvents |
( |
size_t |
max_events = 0 | ) |
|
|
protected |
◆ GetRxPacket()
◆ GetTxPacket()
| Packet * TxRxWorker::GetTxPacket |
( |
size_t |
frame, |
|
|
size_t |
symbol, |
|
|
size_t |
ant |
|
) |
| |
|
protected |
◆ GetUlTxPacket()
| Packet * TxRxWorker::GetUlTxPacket |
( |
size_t |
frame, |
|
|
size_t |
symbol, |
|
|
size_t |
ant |
|
) |
| |
|
protected |
◆ Id()
| size_t TxRxWorker::Id |
( |
| ) |
const |
|
inline |
◆ NotifyComplete()
| bool TxRxWorker::NotifyComplete |
( |
const EventData & |
complete_event | ) |
|
|
protected |
◆ ReturnRxPacket()
| void TxRxWorker::ReturnRxPacket |
( |
RxPacket & |
unused_packet | ) |
|
|
protected |
◆ Running()
| bool TxRxWorker::Running |
( |
| ) |
const |
|
inline |
◆ Start()
| void TxRxWorker::Start |
( |
| ) |
|
|
virtual |
◆ Started()
| bool TxRxWorker::Started |
( |
| ) |
const |
|
inline |
◆ Stop()
| void TxRxWorker::Stop |
( |
| ) |
|
|
virtual |
◆ WaitSync()
| void TxRxWorker::WaitSync |
( |
| ) |
|
|
protected |
Using a latch might be better but adds c++20 requirement.
◆ can_proceed_
| std::atomic<bool>& TxRxWorker::can_proceed_ |
|
protected |
◆ cfg_
| Config* const TxRxWorker::cfg_ |
|
private |
◆ channels_per_interface_
| const size_t TxRxWorker::channels_per_interface_ |
|
protected |
◆ cond_
| std::condition_variable& TxRxWorker::cond_ |
|
protected |
◆ core_offset_
| const size_t TxRxWorker::core_offset_ |
|
protected |
◆ event_notify_q_
◆ interface_offset_
| const size_t TxRxWorker::interface_offset_ |
|
protected |
◆ kDebugTxMemory
| constexpr bool TxRxWorker::kDebugTxMemory = false |
|
staticconstexpr |
◆ mutex_
| std::mutex& TxRxWorker::mutex_ |
|
protected |
Owned by the parent TxRx object for sync.
◆ notify_producer_token_
◆ num_interfaces_
| const size_t TxRxWorker::num_interfaces_ |
|
protected |
◆ running_
| bool TxRxWorker::running_ |
|
protected |
◆ rx_frame_start_
| size_t* const TxRxWorker::rx_frame_start_ |
|
protected |
◆ rx_memory_
| std::vector<RxPacket>& TxRxWorker::rx_memory_ |
|
private |
◆ rx_memory_idx_
| size_t TxRxWorker::rx_memory_idx_ |
|
private |
◆ started_
| bool TxRxWorker::started_ |
|
private |
◆ thread_
| std::thread TxRxWorker::thread_ |
|
private |
◆ tid_
| const size_t TxRxWorker::tid_ |
|
protected |
◆ tx_memory_
| std::byte* const TxRxWorker::tx_memory_ |
|
private |
◆ tx_pending_q_
◆ tx_producer_token_
The documentation for this class was generated from the following files: