예제 #1
0
 /// <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;
         }
     }
 }