Agora
1.2.0
Agora project
|
Go to the documentation of this file.
12 #include "common_typedef_sdk.h"
41 Table<char>& rx_buffer,
size_t packet_num_in_buffer,
94 virtual bool CreateWorker(
size_t tid,
size_t interface_count,
95 size_t interface_offset,
size_t* rx_frame_start,
96 std::vector<RxPacket>& rx_memory,
111 #endif // PACKETTXRX_H_
Definition: packet_txrx.h:18
std::vector< size_t > interface_to_worker_
Definition: packet_txrx.h:106
std::condition_variable cond_
Definition: packet_txrx.h:90
size_t SocketThreadNum() const
Definition: config.h:182
byte
Definition: core.h:388
std::mutex mutex_
Owned by this class and shared with the workers.
Definition: packet_txrx.h:89
std::vector< std::unique_ptr< TxRxWorker > > worker_threads_
Definition: packet_txrx.h:76
@ kUserEquiptment
Definition: packet_txrx.h:19
Definition: concurrentqueue.h:630
void Running(bool value)
Definition: config.h:33
const AgoraTxRx::TxRxTypes type_
Definition: packet_txrx.h:107
for ant_num
Definition: parse_all_dl.m:12
Table< size_t > & frame_start_
Definition: packet_txrx.h:103
TxRxTypes
Definition: packet_txrx.h:19
size_t UeSocketThreadNum() const
Definition: config.h:187
static constexpr size_t kWorkerStartWaitMs
Definition: packet_txrx.cc:12
size_t NumChannels() const
Definition: config.h:98
moodycamel::ProducerToken ** tx_producer_tokens_
Definition: packet_txrx.h:86
#define unused(x)
Definition: utils.h:14
virtual ~PacketTxRx()
Definition: packet_txrx.cc:107
virtual bool CreateWorker(size_t tid, size_t interface_count, size_t interface_offset, size_t *rx_frame_start, std::vector< RxPacket > &rx_memory, std::byte *const tx_memory)=0
PacketTxRx(AgoraTxRx::TxRxTypes type, Config *const cfg, size_t core_offset, moodycamel::ConcurrentQueue< EventData > *event_notify_q, moodycamel::ConcurrentQueue< EventData > *tx_pending_q, moodycamel::ProducerToken **notify_producer_tokens, moodycamel::ProducerToken **tx_producer_tokens, Table< char > &rx_buffer, size_t packet_num_in_buffer, Table< size_t > &frame_start, char *tx_buffer)
Definition: packet_txrx.cc:15
Common definations for PacketTxRx. Including datapath functions for communicating with simulators.
bool StopTxRx()
Definition: packet_txrx.cc:109
Config *const cfg_
Definition: packet_txrx.h:77
#define AGORA_LOG_TRACE(...)
Definition: logger.h:92
std::atomic< bool > proceed_
Definition: packet_txrx.h:91
std::byte *const tx_memory_
Definition: packet_txrx.h:102
static constexpr size_t kNotifyWaitMs
Definition: packet_txrx.cc:11
size_t UeNum() const
Definition: config.h:40
void NotifyWorkers()
Definition: packet_txrx.cc:173
size_t worker_thread_count_
Definition: packet_txrx.h:105
Self defined functions for message storage and passing.
size_t NumberTotalWorkers() const
Definition: packet_txrx.h:67
std::vector< std::vector< RxPacket > > rx_packets_
Definition: packet_txrx.h:101
Definition: message.h:164
virtual bool StartTxRx(Table< complex_float > &calib_dl_buffer, Table< complex_float > &calib_ul_buffer)
Start the network I/O threads.
Definition: packet_txrx.cc:117
size_t NumberTotalInterfaces() const
Definition: packet_txrx.h:68
Implementations of this class provide packet I/O for Agora.
Definition: packet_txrx.h:34
size_t AntNumToWorkerId(size_t ant_num) const
Convert the antenna id to txrx worker id.
Definition: packet_txrx.cc:169
moodycamel::ConcurrentQueue< EventData > * event_notify_q_
Definition: packet_txrx.h:80
static constexpr size_t kWorkerStartWaitMsMax
Definition: packet_txrx.cc:13
frame_start
Definition: parse_dl_file.m:6
moodycamel::ProducerToken ** notify_producer_tokens_
Definition: packet_txrx.h:84
size_t NumUeChannels() const
Definition: config.h:99
#define AGORA_LOG_INFO(...)
Definition: logger.h:62
Definition: json.hpp:5213
#define AGORA_LOG_FRAME(...)
Definition: logger.h:72
#define AGORA_LOG_WARN(...)
Definition: logger.h:53
const size_t core_offset_
Definition: packet_txrx.h:79
Declaration file for the configuration class which importants json configuration values into class va...
const size_t & InterfaceToWorker(size_t interface) const
Definition: packet_txrx.h:71
size_t PacketLength() const
Definition: config.h:238
txrx worker thread definition. This is the parent / interface
size_t NumRadios() const
Definition: config.h:95
size_t num_channels_
Definition: packet_txrx.h:108
moodycamel::ConcurrentQueue< EventData > * tx_pending_q_
Definition: packet_txrx.h:81
@ kBaseStation
Definition: packet_txrx.h:19
type
Definition: core.h:1131
size_t NumChannels() const
Definition: packet_txrx.h:74