コード例 #1
0
ファイル: DlLoadControlService.cs プロジェクト: xiaoyj/Space
 public DlLoadControlService(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>>();
 }
コード例 #2
0
ファイル: UlAdmissionControl.cs プロジェクト: xiaoyj/Space
 /// <summary>
 /// 上行准入控制的初始化
 /// </summary>
 /// <param name="iSimulationCarrierList"></param>
 public void Init(List<ISimulationCarrier> iSimulationCarrierList)
 {
     foreach (IAdmissionCarrier carrier in iSimulationCarrierList)
     {
         this.InitUserTag(carrier.UlUserList);
         carrier.AdmissionCarrierTag = new AdmissionCellTag();
     }
     this.m_OfflineThresholdParam = new OfflineThresholdParam();
     this.m_LBThresholdParam = new LBThresholdParam();
     this.m_LCTHresholdParam = new LCThresholdParam();
     this.m_SatisficationThParam = new SatisficationThParam();
     this.SetULParam(this.m_OfflineThresholdParam, this.m_LBThresholdParam, this.m_LCTHresholdParam, this.m_SatisficationThParam);
 }
コード例 #3
0
        public void MyTestInitialize()
        {
            m_SatisificationCalculate = new SatisficationCalculate(m_currentTTI, m_sfCalTh);
            m_sfCalTh = new SatisficationThParam();
            m_VoiceUserList = new List<ISimulationUser>();
            m_UserList = new List<ISimulationUser>();
            m_VoiceUser = new SimulationUser();
            m_GBRUserList = new List<ISimulationUser>();
            m_DataUserList = new List<ISimulationUser>();
            m_NonGBRUserList = new List<ISimulationUser>();
            m_User = new SimulationUser();
            Service serv = new UnionPsService();
            m_User.LTEUser = new User();

            SimulationUser user1 = new SimulationUser();
            SimulationUser user2 = new SimulationUser();

            m_GBRUserList.Add(user1);
            m_GBRUserList.Add(user2);
            m_UserList.Add(m_User);
            m_DataUserList.Add(m_User);
            m_VoiceUserList.Add(m_User);

            m_User.AdmissionUserTag = new AdmissionControlUserTag();
            AdmissionControlUserTag tag2 = m_User.AdmissionUserTag as AdmissionControlUserTag;

            m_User.LTEUser.Service = serv;
            m_User.LTEUser.Service = new Huawei.UNet.Traffic.Interface.UnionPsService();
            NetworkTerminal networkTerminal = new NetworkTerminal();
            ((Huawei.UNet.Traffic.Interface.UnionPsService)(m_User.LTEUser.Service)).PSServiceDic = new Dictionary<Huawei.UNet.Frame.Interface.NetWorkType, Huawei.UNet.Traffic.Interface.Service>();
            ((Huawei.UNet.Traffic.Interface.UnionPsService)(m_User.LTEUser.Service)).PSServiceDic.Add(NetWorkType.LTE, new Huawei.UNet.Traffic.LTEModel.LTEService());


            m_UlMinThroughputDemand = new UnionPsService();
            m_UlTxEff = new UnionPsService();
            m_UlOffset = new UnionPsService();

            
            
            
        }
コード例 #4
0
ファイル: UlAdmissionControl.cs プロジェクト: xiaoyj/Space
 /// <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;
 }
コード例 #5
0
        public void DlAdmissionControlExecute_Test1()
        {

            m_SatisThParam = new SatisficationThParam();
            m_SatisCal = new SatisficationCalculate(m_CurrentTTI, m_SatisThParam);
            DlAdmissionControl m_dladdmissionControl = new DlAdmissionControl();
            //m_DlAdmission.Init();
            SimulationUser duser1 = new SimulationUser();
            m_DlHODataUserList = new List<ISimulationUser>();
            m_DlHODataUserList.Add(duser1);
            m_Carrier.DLHandOverDataUserList = m_DlHODataUserList;


            m_DlAdmission.Init(m_ISimulationCarrierList);          
            m_DlAdmission.DlAdmissionControlExecute(m_ISimulationCarrierList, m_CurrentTTI);
            Assert.AreEqual(m_ISimulationCarrierList.Count, 1);
        }