-changing rlc so that mrb is never removed when going to idle

-adding metric counting to eMBMS MAC so that the count is not lost during eMBMS subframes
master
yagoda 5 years ago committed by Andre Puschmann
parent e5533e4bcd
commit 3f99e40159

@ -156,12 +156,7 @@ void rlc::reset()
delete (it->second); delete (it->second);
} }
rlc_array.clear(); rlc_array.clear();
// the multicast bearer (MRB) is not removed here because eMBMS services continue to be streamed in idle mode (3GPP TS 23.246 version 14.1.0 Release 14 section 8)
for (rlc_map_t::iterator it = rlc_array_mrb.begin(); it != rlc_array_mrb.end(); ++it) {
it->second->stop();
delete (it->second);
}
rlc_array_mrb.clear();
} }
// Add SRB0 again // Add SRB0 again
@ -433,9 +428,11 @@ void rlc::add_bearer_mrb(uint32_t lcid)
rlc_log->error("Error configuring RLC entity\n."); rlc_log->error("Error configuring RLC entity\n.");
goto delete_and_exit; goto delete_and_exit;
} }
if (not rlc_array_mrb.insert(rlc_map_pair_t(lcid, rlc_entity)).second) { if (rlc_array_mrb.count(lcid) == 0) {
rlc_log->error("Error inserting RLC entity in to array\n."); if (not rlc_array_mrb.insert(rlc_map_pair_t(lcid, rlc_entity)).second) {
goto delete_and_exit; rlc_log->error("Error inserting RLC entity in to array\n.");
goto delete_and_exit;
}
} }
rlc_log->warning("Added bearer MRB%d with mode RLC_UM\n", lcid); rlc_log->warning("Added bearer MRB%d with mode RLC_UM\n", lcid);
return; return;

@ -774,6 +774,10 @@ int mac::get_mch_sched(uint32_t tti, bool is_mcch, dl_sched_list_t& dl_sched_res
mch.current_sf_allocation_num++; mch.current_sf_allocation_num++;
} }
// Count number of TTIs for all active users
for (auto& u : ue_db) {
u.second->metrics_cnt();
}
return SRSLTE_SUCCESS; return SRSLTE_SUCCESS;
} }

Loading…
Cancel
Save