Agora
1.2.0
Agora project
|
Go to the documentation of this file. 1 #ifndef SHARED_COUNTERS_INC_
2 #define SHARED_COUNTERS_INC_
29 "SharedCounters RxStatus error: Received packet for future "
30 "frame %u beyond frame window (%zu + %zu). This can "
31 "happen if Agora is running slowly, e.g., in debug mode. "
32 "Full packet = %s.\n",
37 const size_t frame_slot = pkt->frame_id %
kFrameWnd;
43 "SharedCounters: received all packets in frame: %u. "
44 "Pilot pkts = %zu of %zu\n",
52 std::printf(
"SharedCounters: received all pilots in frame: %u\n",
146 cfg->DemulBlockSize()) {
166 "Complete a wrong frame in demul!");
198 cur_frame_ =
new size_t[cfg->get_num_ues_to_process()];
199 std::memset(
cur_frame_, 0,
sizeof(
size_t) * cfg->get_num_ues_to_process());
200 cur_symbol_ =
new size_t[cfg->get_num_ues_to_process()];
201 std::memset(
cur_symbol_, 0,
sizeof(
size_t) * cfg->get_num_ues_to_process());
204 new std::array<std::array<size_t, kMaxSymbols>,
205 kFrameWnd>[cfg->get_num_ues_to_process()];
206 for (
size_t i = 0;
i < cfg->get_num_ues_to_process();
i++) {
235 std::array<std::array<size_t, kMaxSymbols>,
kFrameWnd>*
239 #endif // SHARED_COUNTERS_INC_
Config * cfg_
Definition: shared_counters.h:230
std::array< std::array< std::atomic< size_t >, kMaxSymbols >, kFrameWnd > num_data_pkts_
Definition: shared_counters.h:119
size_t max_frame_
Definition: shared_counters.h:190
size_t latest_frame_
Definition: shared_counters.h:125
end IFFT Reshape the symbol vector into two different spatial streams size
Definition: generate_data.m:73
auto printf(const S &fmt, const T &... args) -> int
Definition: printf.h:631
static constexpr size_t kFrameWnd
Definition: symbols.h:18
std::array< std::atomic< size_t >, kFrameWnd > num_pilot_pkts_
Definition: shared_counters.h:114
size_t * cur_frame_
Definition: shared_counters.h:231
size_t num_decode_tasks_completed_
Definition: shared_counters.h:129
#define AGORA_LOG_ERROR(...)
Definition: logger.h:39
DemulStatus(Config *cfg)
Definition: shared_counters.h:144
bool add_new_packet(const Packet *pkt)
Definition: shared_counters.h:26
void demul_complete(size_t frame_id, size_t symbol_id, size_t num_tasks)
Definition: shared_counters.h:156
RxStatus(Config *cfg)
Definition: shared_counters.h:17
Definition: shared_counters.h:15
const size_t num_demod_data_required_
Definition: shared_counters.h:233
const size_t num_decode_tasks_per_frame_
Definition: shared_counters.h:137
const size_t num_pilot_symbols_per_frame_
Definition: shared_counters.h:134
for i
Definition: generate_data.m:107
bool is_demod_ready(size_t frame_id, size_t symbol_id)
Definition: shared_counters.h:75
std::array< std::array< size_t, kMaxSymbols >, kFrameWnd > * num_demod_data_received_
Definition: shared_counters.h:236
std::mutex decode_mutex_
Definition: shared_counters.h:130
Definition: shared_counters.h:142
Definition: message.h:164
static void rt_assert(bool condition, const char *throw_str)
Definition: bench.cc:19
bool received_all_pilots(size_t frame_id)
Definition: shared_counters.h:67
void decode_done(size_t frame_id)
Definition: shared_counters.h:87
const size_t num_demul_tasks_required_
Definition: shared_counters.h:188
std::mutex max_frame_mutex_
Definition: shared_counters.h:191
size_t * cur_symbol_
Definition: shared_counters.h:232
const size_t num_pilot_pkts_per_frame_
Definition: shared_counters.h:133
void receive_demod_data(size_t ue_id, size_t frame_id, size_t symbol_id)
Definition: shared_counters.h:213
const size_t num_pkts_per_symbol_
Definition: shared_counters.h:136
const size_t num_data_symbol_per_frame_
Definition: shared_counters.h:135
std::array< std::atomic< size_t >, kFrameWnd > num_pkts_
Definition: shared_counters.h:110
bool received_all_demod_data(size_t ue_id, size_t frame_id, size_t symbol_id)
Definition: shared_counters.h:218
Declaration file for the configuration class which importants json configuration values into class va...
Definition: shared_counters.h:194
Utility functions for file and text processing.
static constexpr size_t kMaxSymbols
Definition: symbols.h:280
std::array< std::array< std::atomic< size_t >, kMaxSymbols >, kFrameWnd > num_demul_tasks_completed_
Definition: shared_counters.h:185
bool ready_to_decode(size_t frame_id, size_t symbol_id)
Definition: shared_counters.h:172
DecodeStatus(Config *cfg)
Definition: shared_counters.h:196
size_t cur_frame_
Definition: shared_counters.h:122