Agora
1.2.0
Agora project
|
Go to the documentation of this file.
6 #ifndef AGORA_BUFFER_H_
7 #define AGORA_BUFFER_H_
12 #include "common_typedef_sdk.h"
106 return sched_info_arr_.at(qid).at(
static_cast<size_t>(event_type)).ptok_;
112 .at(
static_cast<size_t>(event_type))
126 inline void Alloc(
size_t queue_size) {
131 for (
auto& event : queue) {
132 event.concurrent_q_ =
138 size_t queue_count = 0;
140 for (
auto& worker : queue) {
150 for (
auto& event : queue) {
152 event.ptok_ =
nullptr;
156 for (
auto& worker : queue) {
165 std::array<std::array<moodycamel::ProducerToken*, kMaxThreads>,
177 #endif // AGORA_BUFFER_H_
Config *const config_
Definition: agora_buffer.h:69
size_t SocketThreadNum() const
Definition: config.h:182
Definition: concurrentqueue.h:630
Table< complex_float > calib_ul_msum_buffer_
Definition: agora_buffer.h:81
size_t UeAntNum() const
Definition: config.h:41
void Calloc(size_t dim1, size_t dim2, Agora_memory::Alignment_t alignment)
Definition: memory_manage.h:45
void Free()
Definition: agora_buffer.h:148
MessageInfo(size_t queue_size)
Definition: agora_buffer.h:102
Definition: test_transpose.cc:22
Table< complex_float > & GetEqual()
Definition: agora_buffer.h:44
Defination file for the AgoraBuffer class.
Table< complex_float > & GetCalibDlMsum()
Definition: agora_buffer.h:52
moodycamel::ProducerToken * ptok_
Definition: agora_buffer.h:95
static constexpr size_t kScheduleQueues
Definition: symbols.h:129
static void FreeBuffer1d(T **buffer)
Definition: memory_manage.h:116
Direction
Definition: symbols.h:39
~AgoraBuffer()
Definition: agora_buffer.cc:25
static constexpr size_t kFrameWnd
Definition: symbols.h:18
AgoraBuffer & operator=(AgoraBuffer const &)=delete
EventType
Definition: symbols.h:42
size_t GetOFDMDataNum() const
Definition: config.h:554
moodycamel::ProducerToken * GetWorkerPtok(size_t qid, size_t worker_id)
Definition: agora_buffer.h:120
static constexpr T Roundup(T x)
Definition: utils.h:95
PtrCube< kFrameWnd, kMaxSymbols, kMaxUEs, int8_t > & GetDecod()
Definition: agora_buffer.h:40
size_t BsAntNum() const
Definition: config.h:35
PtrCube< kFrameWnd, kMaxSymbols, kMaxUEs, int8_t > decoded_buffer_
Definition: agora_buffer.h:76
Table< int8_t > dl_mod_bits_buffer_
Definition: agora_buffer.h:83
moodycamel::ConcurrentQueue< EventData > * GetConq(EventType event_type, size_t qid)
Definition: agora_buffer.h:109
Table< complex_float > calib_ul_buffer_
Definition: agora_buffer.h:89
PtrGrid< kFrameWnd, kMaxDataSCs, complex_float > & GetUlBeamMatrix()
Definition: agora_buffer.h:31
Table< complex_float > & GetIfft()
Definition: agora_buffer.h:48
const FrameStats & Frame() const
Definition: config.h:340
const size_t ul_socket_buf_size_
Definition: agora_buffer.h:70
PtrCube< kFrameWnd, kMaxSymbols, kMaxUEs, int8_t > demod_buffer_
Definition: agora_buffer.h:75
Table< char > & GetUlSocket()
Definition: agora_buffer.h:60
PtrCube< kFrameWnd, kMaxSymbols, kMaxUEs, int8_t > & GetDemod()
Definition: agora_buffer.h:37
Table< int8_t > & GetDlModBits()
Definition: agora_buffer.h:55
static void AllocBuffer1d(T **buffer, U dim, Agora_memory::Alignment_t alignment, int init_zero)
Definition: memory_manage.h:105
~MessageInfo()
Definition: agora_buffer.h:103
moodycamel::ConcurrentQueue< EventData > concurrent_q_
Definition: agora_buffer.h:94
Table< int8_t > dl_bits_buffer_status_
Definition: agora_buffer.h:85
size_t OfdmDataNum() const
Definition: config.h:47
Table< complex_float > equal_buffer_
Definition: agora_buffer.h:78
Table< int8_t > & GetDlBits()
Definition: agora_buffer.h:56
size_t GetUlSocketSize() const
Definition: agora_buffer.h:59
Table< complex_float > calib_dl_buffer_
Definition: agora_buffer.h:90
PtrGrid< kFrameWnd, kMaxUEs, complex_float > csi_buffer_
Definition: agora_buffer.h:72
size_t DlPacketLength() const
Definition: config.h:242
Self defined functions for message storage and passing.
void Free()
Definition: memory_manage.h:84
AgoraBuffer(Config *const cfg)
Definition: agora_buffer.cc:7
size_t ClientUlPilotSymbols() const
Definition: framestats.h:73
Table< complex_float > & GetFft()
Definition: agora_buffer.h:43
for i
Definition: generate_data.m:107
size_t OfdmCaNum() const
Definition: config.h:45
moodycamel::ConcurrentQueue< EventData > & GetCompQueue(size_t qid)
Definition: agora_buffer.h:116
Plot Rx waveform for u
Definition: inspect_single_frame.m:108
Definition: agora_buffer.h:172
Table< int8_t > dl_bits_buffer_
Definition: agora_buffer.h:84
Table< complex_float > & GetUeSpecPilot()
Definition: agora_buffer.h:45
PtrGrid< kFrameWnd, kMaxDataSCs, complex_float > dl_beam_matrix_
Definition: agora_buffer.h:74
char * dl_socket_buffer_
Definition: agora_buffer.h:88
size_t NumDLSyms() const
Definition: framestats.cc:83
Table< complex_float > & GetCalibUlMsum()
Definition: agora_buffer.h:49
std::array< std::array< moodycamel::ProducerToken *, kMaxThreads >, kScheduleQueues > worker_ptoks_ptr_
Definition: agora_buffer.h:167
static constexpr size_t kMaxModType
Definition: symbols.h:297
size_t NumULSyms() const
Definition: framestats.cc:85
size_t MacBytesNumPerframe(Direction dir) const
Definition: config.h:263
Table< complex_float > & GetCalibDl()
Definition: agora_buffer.h:63
void FreeTables()
Definition: agora_buffer.cc:100
void AllocateTables()
Definition: agora_buffer.cc:27
Definition: agora_buffer.h:93
PtrGrid< kFrameWnd, kMaxDataSCs, complex_float > & GetDlBeamMatrix()
Definition: agora_buffer.h:34
void Malloc(size_t dim1, size_t dim2, Agora_memory::Alignment_t alignment)
Definition: memory_manage.h:37
Table< complex_float > dl_ifft_buffer_
Definition: agora_buffer.h:80
PtrGrid< kFrameWnd, kMaxUEs, complex_float > & GetCsi()
Definition: agora_buffer.h:28
Table< complex_float > calib_dl_msum_buffer_
Definition: agora_buffer.h:82
std::array< moodycamel::ConcurrentQueue< EventData >, kScheduleQueues > complete_task_queue_
Definition: agora_buffer.h:164
Definition: agora_buffer.h:20
PtrGrid< kFrameWnd, kMaxDataSCs, complex_float > ul_beam_matrix_
Definition: agora_buffer.h:73
Declaration file for the configuration class which importants json configuration values into class va...
Table< complex_float > fft_buffer_
Definition: agora_buffer.h:77
size_t cur_sche_frame_id_
Definition: agora_buffer.h:173
Table< char > ul_socket_buffer_
Definition: agora_buffer.h:87
Definition: agora_buffer.h:100
std::array< std::array< SchedInfo, kNumEventTypes >, kScheduleQueues > sched_info_arr_
Definition: agora_buffer.h:169
Table< complex_float > ue_spec_pilot_buffer_
Definition: agora_buffer.h:79
char * GetDlSocket()
Definition: agora_buffer.h:61
Table< int8_t > & GetDlBitsStatus()
Definition: agora_buffer.h:57
Table< complex_float > & GetCalibUl()
Definition: agora_buffer.h:62
moodycamel::ProducerToken * GetPtok(EventType event_type, size_t qid)
Definition: agora_buffer.h:105
void Alloc(size_t queue_size)
Definition: agora_buffer.h:126
size_t cur_proc_frame_id_
Definition: agora_buffer.h:174
size_t BfAntNum() const
Definition: config.h:39