fill enb rrc metrics with drb info

master
Francisco 4 years ago committed by Francisco Paisana
parent dcd1157d39
commit 43e0a3209d

@ -33,6 +33,7 @@ typedef enum {
struct rrc_ue_metrics_t { struct rrc_ue_metrics_t {
rrc_state_t state; rrc_state_t state;
std::vector<std::pair<uint32_t, uint32_t> > drb_qci_map;
}; };
struct rrc_metrics_t { struct rrc_metrics_t {

@ -38,6 +38,7 @@ public:
void activity_timer_expired(); void activity_timer_expired();
rrc_state_t get_state(); rrc_state_t get_state();
void get_metrics(rrc_ue_metrics_t& ue_metrics) const;
void send_connection_setup(); void send_connection_setup();
void send_connection_reest(uint8_t ncc); void send_connection_reest(uint8_t ncc);

@ -103,7 +103,7 @@ void rrc::get_metrics(rrc_metrics_t& m)
m.ues.resize(users.size()); m.ues.resize(users.size());
size_t count = 0; size_t count = 0;
for (auto& ue : users) { for (auto& ue : users) {
m.ues[count++].state = ue.second->get_state(); ue.second->get_metrics(m.ues[count++]);
} }
} }
} }

@ -60,6 +60,18 @@ rrc_state_t rrc::ue::get_state()
return state; return state;
} }
void rrc::ue::get_metrics(rrc_ue_metrics_t& ue_metrics) const
{
ue_metrics.state = state;
const auto& drb_list = bearer_list.get_established_drbs();
const auto& erab_list = bearer_list.get_erabs();
ue_metrics.drb_qci_map.resize(drb_list.size());
for (size_t i = 0; i < drb_list.size(); ++i) {
ue_metrics.drb_qci_map[i] =
std::make_pair(drb_list[i].lc_ch_id, erab_list.at(drb_list[i].eps_bearer_id).qos_params.qci);
}
}
void rrc::ue::set_activity() void rrc::ue::set_activity()
{ {
// re-start activity timer with current timeout value // re-start activity timer with current timeout value

Loading…
Cancel
Save