public UlLoadControlService(int currentTTI, LCThresholdParam lCThresholdParam, SatisficationThParam sfCalThParam) { base.m_CurrentTTI = currentTTI; base.m_LCThresholdParam = lCThresholdParam; base.m_SatisficationThParam = sfCalThParam; this.m_GBRUserlist = new List<ISimulationUser>(); this.m_NonGBRUserlist = new List<ISimulationUser>(); base.grade = new List<priandisEdge>(); base.usersInGradeDic = new Dictionary<priandisEdge, List<ISimulationUser>>(); }
/// <summary> /// 上行准入控制的初始化 /// </summary> /// <param name="iSimulationCarrierList"></param> public void Init(List<ISimulationCarrier> iSimulationCarrierList) { int num = 0; foreach (IAdmissionCarrier carrier in iSimulationCarrierList) { this.InitUserTag(carrier.UlUserList); carrier.AdmissionCarrierTag = new AdmissionCellTag(); num = carrier.BandWidthRbNum; } this.m_OfflineThresholdParam = new OfflineThresholdParam(); this.m_LBThresholdParam = new LBThresholdParam(); this.m_LCTHresholdParam = new LCThresholdParam(); this.m_SatisficationThParam = new SatisficationThParam(); if (num > 5) { this.m_OfflineThresholdParam.DataDropThreshold = 2000; } else { this.m_OfflineThresholdParam.DataDropThreshold = SimulationConstant.UL_DATA_DROP_THRESHOLD_NONSERVICED; } this.SetULParam(this.m_OfflineThresholdParam, this.m_LBThresholdParam, this.m_LCTHresholdParam, this.m_SatisficationThParam); }
/// <summary> /// 设置诸多门限参数 /// </summary> /// <param name="offlineTh"></param> /// <param name="lbTh"></param> /// <param name="lcTh"></param> /// <param name="sfCalTh"></param> private void SetULParam(OfflineThresholdParam offlineTh, LBThresholdParam lbTh, LCThresholdParam lcTh, SatisficationThParam sfCalTh) { //offlineTh.DataDropThreshold = SimulationConstant.UL_DATA_DROP_THRESHOLD_NONSERVICED; offlineTh.DataSdThreshold = SimulationConstant.UL_DATA_DROP_SDTHRESHOLD; offlineTh.VoiceDropLossThrshold = SimulationConstant.UL_VOICE_DROP_LOSSCOUNT_THRESHOLD; offlineTh.VoiceDropThreshold = SimulationConstant.UL_VOICE_DROP_THRESHOLD_NONSERVICED; lbTh.LbBalanceTime = SimulationConstant.UL_LoadBalanceTime; lbTh.FirstLbTime = SimulationConstant.MLB_START_TIME; lbTh.LbPeriod = SimulationConstant.MLB_EXECUTE_PERIOD; lbTh.MLBEdgeLoadTh = SimulationConstant.MLBEdgeLoadTh; lbTh.MLBERSRPDiffTh = SimulationConstant.MLBRSRPDiffTh; lbTh.MlbRationTh = SimulationConstant.MLBRatioTh; lbTh.NoMLBRatioTh = SimulationConstant.NoMLBRatioTh; lcTh.FirstLCTime = SimulationConstant.UL_FirstLCTime; lcTh.LcGBRSatisfyTh = SimulationConstant.LCGBRSatisfyTh; lcTh.LcNonGBRSatisfyTh = SimulationConstant.LCNonGBRSatisfyTh; lcTh.LcPeriod = SimulationConstant.LOADCONTROL_EXECUTE_PERIOD; lcTh.LcVoiceSatisfyTh = SimulationConstant.LCVoiceSatisfyTh; lcTh.LcLoadRatioTh = SimulationConstant.LCRatioTh; lcTh.LcGBRRbTh = SimulationConstant.LCGBRRbTh; sfCalTh.VOICE_SD_THRESHOLD = SimulationConstant.VOICEOFFLINE_SD_THRESHOLD; }
private void SetDLParam() { this.m_OfflineThresholdParam = new OfflineThresholdParam(); this.m_OfflineThresholdParam.DataDropThreshold = SimulationConstant.DL_DATA_DROP_THRESHOLD_NONSERVICED; this.m_OfflineThresholdParam.DataSdThreshold = SimulationConstant.DL_DATA_DROP_SDTHRESHOLD; this.m_OfflineThresholdParam.VoiceDropLossThrshold = SimulationConstant.DL_VOICE_DROP_LOSSCOUNT_THRESHOLD; this.m_OfflineThresholdParam.VoiceDropThreshold = SimulationConstant.DL_VOICE_DROP_THRESHOLD_NONSERVICED; this.m_LBThresholdParam = new LBThresholdParam(); this.m_LBThresholdParam.LbBalanceTime = SimulationConstant.DL_LoadBalanceTime; this.m_LBThresholdParam.FirstLbTime = SimulationConstant.MLB_START_TIME; this.m_LBThresholdParam.LbPeriod = SimulationConstant.MLB_EXECUTE_PERIOD; this.m_LBThresholdParam.MLBEdgeLoadTh = SimulationConstant.MLBEdgeLoadTh; this.m_LBThresholdParam.MLBERSRPDiffTh = SimulationConstant.MLBRSRPDiffTh; this.m_LBThresholdParam.MlbRationTh = SimulationConstant.MLBRatioTh; this.m_LBThresholdParam.NoMLBRatioTh = SimulationConstant.NoMLBRatioTh; this.m_LCTHresholdParam = new LCThresholdParam(); this.m_LCTHresholdParam.FirstLCTime = SimulationConstant.DL_FirstLCTime; this.m_LCTHresholdParam.LcGBRSatisfyTh = SimulationConstant.LCGBRSatisfyTh; this.m_LCTHresholdParam.LcNonGBRSatisfyTh = SimulationConstant.LCNonGBRSatisfyTh; this.m_LCTHresholdParam.LcPeriod = SimulationConstant.LOADCONTROL_EXECUTE_PERIOD; this.m_LCTHresholdParam.LcVoiceSatisfyTh = SimulationConstant.LCVoiceSatisfyTh; this.m_LCTHresholdParam.LcGBRRbTh = SimulationConstant.LCGBRRbTh; this.m_LCTHresholdParam.LcLoadRatioTh = SimulationConstant.LCRatioTh; this.m_SatisficationThParam = new SatisficationThParam(); this.m_SatisficationThParam.VOICE_SD_THRESHOLD = SimulationConstant.VOICEOFFLINE_SD_THRESHOLD; }