/// <summary> /// 下行准入控制的入口 /// </summary> /// <param name="iSimulationCarrierList"></param> /// <param name="currentTTI"></param> public void DlAdmissionControlExecute(List<ISimulationCarrier> iSimulationCarrierList, int currentTTI) { SetGBRServicePriorityList(iSimulationCarrierList, currentTTI); //if (SimulationConstant.IS_ADMISSION_CONTROL_ON) if(true) { foreach (IAdmissionCarrier carrier in iSimulationCarrierList) { this.CalculateServiceSatisfy(carrier, currentTTI); OfflineService service = new OfflineService(currentTTI, this.m_OfflineThresholdParam); service.OfflineVoiceUserService(carrier.DlVoiceWaitUserList, carrier.OffLineUserList); service.OfflineDataUserService(carrier.DlDataWaitUserList, this.m_GBRUserlist, carrier.OffLineUserList); if (carrier.DLHandOverDataUserList.Count != 0) { carrier.DlDataNewAccessUserList.AddRange(carrier.DLHandOverDataUserList); carrier.DLHandOverDataUserList.Clear(); } if (carrier.DLHandOverVoiceUserList.Count != 0) { carrier.DlVoiceNewAccessUserList.AddRange(carrier.DLHandOverVoiceUserList); carrier.DLHandOverVoiceUserList.Clear(); } } foreach (IAdmissionCarrier carrier in iSimulationCarrierList) { if (currentTTI < (this.m_LBThresholdParam.LbBalanceTime + this.m_LBThresholdParam.FirstLbTime)) { this.LoadBanlance(iSimulationCarrierList, currentTTI, carrier); } else { this.LoadControl(currentTTI, carrier); } } foreach (IAdmissionCarrier carrier in iSimulationCarrierList) { AdmissionCellTag admissionCarrierTag = carrier.AdmissionCarrierTag as AdmissionCellTag; admissionCarrierTag.DLAcceptHOThroughput = 0.0; //admissionCarrierTag.DLHasOutThroughput = 0.0; //修改by任鹏飞 admissionCarrierTag.DLTotalHOThroughput = 0.0; admissionCarrierTag.DLHasOutThroughput = 0.0; admissionCarrierTag.DLSourceOutThroughput = 0.0; carrier.IsDLLoadBalance = false; } } }