Added info required for stability and fairness of remote scheduler
This commit is contained in:
@@ -449,8 +449,8 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
|
||||
rlc_reports[j]->has_tx_queue_size = 1;
|
||||
|
||||
//TODO:Set tx queue head of line delay in ms
|
||||
rlc_reports[j]->tx_queue_hol_delay = 100;
|
||||
rlc_reports[j]->has_tx_queue_hol_delay = 0;
|
||||
rlc_reports[j]->tx_queue_hol_delay = flexran_get_hol_delay(enb_id, i, j+1);
|
||||
rlc_reports[j]->has_tx_queue_hol_delay = 1;
|
||||
//TODO:Set retransmission queue size in bytes
|
||||
rlc_reports[j]->retransmission_queue_size = 10;
|
||||
rlc_reports[j]->has_retransmission_queue_size = 0;
|
||||
@@ -976,6 +976,7 @@ int flexran_agent_mac_sf_trigger(mid_t mod_id, const void *params, Protocol__Fle
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// LOG_I(FLEXRAN_AGENT, "Sending subframe trigger for frame %d and subframe %d\n", flexran_get_current_frame(mod_id), (flexran_get_current_subframe(mod_id) + 1) % 10);
|
||||
|
||||
@@ -1002,7 +1003,7 @@ int flexran_agent_mac_sf_trigger(mid_t mod_id, const void *params, Protocol__Fle
|
||||
if(dl_info[i] == NULL)
|
||||
goto error;
|
||||
protocol__flex_dl_info__init(dl_info[i]);
|
||||
dl_info[i]->rnti = flexran_get_ue_crnti(mod_id, i);
|
||||
dl_info[i]->rnti = flexran_get_ue_crnti(mod_id, UE_id);
|
||||
dl_info[i]->has_rnti = 1;
|
||||
/*Fill in the right id of this round's HARQ process for this UE*/
|
||||
// uint8_t harq_id;
|
||||
|
||||
@@ -560,10 +560,17 @@ int flexran_get_ue_wcqi (mid_t mod_id, mid_t ue_id) {
|
||||
}
|
||||
|
||||
int flexran_get_tx_queue_size(mid_t mod_id, mid_t ue_id, logical_chan_id_t channel_id) {
|
||||
rnti_t rnti = flexran_get_ue_crnti(mod_id,ue_id);
|
||||
uint16_t frame = (uint16_t) flexran_get_current_frame(mod_id);
|
||||
mac_rlc_status_resp_t rlc_status = mac_rlc_status_ind(mod_id,rnti, mod_id,frame,ENB_FLAG_YES,MBMS_FLAG_NO, channel_id, 0);
|
||||
return rlc_status.bytes_in_buffer;
|
||||
rnti_t rnti = flexran_get_ue_crnti(mod_id,ue_id);
|
||||
uint16_t frame = (uint16_t) flexran_get_current_frame(mod_id);
|
||||
mac_rlc_status_resp_t rlc_status = mac_rlc_status_ind(mod_id,rnti, mod_id,frame,ENB_FLAG_YES,MBMS_FLAG_NO, channel_id, 0);
|
||||
return rlc_status.bytes_in_buffer;
|
||||
}
|
||||
|
||||
int flexran_get_hol_delay(mid_t mod_id, mid_t ue_id, logical_chan_id_t channel_id) {
|
||||
rnti_t rnti = flexran_get_ue_crnti(mod_id,ue_id);
|
||||
uint16_t frame = (uint16_t) flexran_get_current_frame(mod_id);
|
||||
mac_rlc_status_resp_t rlc_status = mac_rlc_status_ind(mod_id, rnti, mod_id, frame, ENB_FLAG_YES, MBMS_FLAG_NO, channel_id, 0);
|
||||
return rlc_status.head_sdu_creation_time;
|
||||
}
|
||||
|
||||
short flexran_get_TA(mid_t mod_id, mid_t ue_id, int CC_id) {
|
||||
|
||||
@@ -185,6 +185,9 @@ int flexran_get_ue_wcqi (mid_t mod_id, mid_t ue_id);
|
||||
/* Get the transmission queue size for a UE with a channel_id logical channel id */
|
||||
int flexran_get_tx_queue_size(mid_t mod_id, mid_t ue_id, logical_chan_id_t channel_id);
|
||||
|
||||
/* Get the head of line delay for a UE with a channel_id logical channel id */
|
||||
int flexran_get_hol_delay(mid_t mod_id, mid_t ue_id, logical_chan_id_t channel_id);
|
||||
|
||||
/* Check the status of the timing advance for a UE */
|
||||
short flexran_get_TA(mid_t mod_id, mid_t ue_id, int CC_id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user