コード例 #1
0
 public void Init(List<ISimulationCarrier> carrierList)
 {
     this.m_RNQueueBuilderDic = new Dictionary<SchedulePolicy, RNQueueBuilder>();
     this.m_ResourceTemplateDic = new Dictionary<string, ScheduleResource>();
     this.m_VoiceQueueBuilderDic = new Dictionary<SchedulePolicy, IQueueBuilder>();
     this.m_DataQueueBuilderDic = new Dictionary<SchedulePolicy, IQueueBuilder>();
     
     foreach (SimulationCarrier carrier in carrierList)
     {
         RNQueueBuilder rnQueueBuilder = this.GetRNQueueBuilder(carrier);
         IQueueBuilder voiceQueueBuilder = this.GetVoiceQueueBuilder(carrier);
         IQueueBuilder dataQueueBuilder = this.GetDataQueueBuilder(carrier);
         RelayCarrierScheduleManager manager = new RelayCarrierScheduleManager(carrier);
         manager.Init(this.m_ResourceTemplateDic, rnQueueBuilder, voiceQueueBuilder, dataQueueBuilder);
         if (carrier.IsLTECell)
         {
             carrier.TDDSubFrameMatrix = ((carrier.Carrier as LTECell).Parent.Parent as Site).SubFrameMatrix;       //TDD子帧配置矩阵。矩阵为1 TTI代表普通上行子帧,为0代表下行,为2代表特殊子帧
             carrier.TDDSpecialSubFrameMatrix = ((carrier.Carrier as LTECell).Parent.Parent as Site).SpecialSubFrameMatrix ;//TDD特殊子帧配置
             carrier.RelayMBSFNCount = 1;
             carrier.RelayUlUsableRBNum = 12;             //以后优化可从界面读取,LTECell用于relay的RB数
             UlScheduleTools.CalcRelayUlRb(carrier);                     //初始化LTECell下relay最大可用RB,分配原则为平均分配
         }
         if (!carrier.IsLTECell)
         {
             carrier.TDDSubFrameMatrix = (carrier.Carrier as RelayCell).ParentRN.SubFrameMatrix;
         }
         carrier.UlScheduleCarrierTag = manager;
     }
 }
コード例 #2
0
ファイル: RelayUlDataScheduler.cs プロジェクト: xiaoyj/Space
 public RelayUlDataScheduler(RelayCarrierScheduleManager owner)
     : base(owner)
 {
     this.m_UserBeginSbApplyer = UserBeginSbApplyerFactory.GetUserBeginSbApplyer(owner.SimulationCarrier.IsUlIcicOn);
 }
コード例 #3
0
ファイル: RelayUlRNScheduler.cs プロジェクト: xiaoyj/Space
 public RelayUlRNScheduler(RelayCarrierScheduleManager owner) :base(owner)
 {
     base.m_ScheduleCarrier = owner;
     m_RelayBeginSbApplyer = UserBeginSbApplyerFactory.GetUserBeginSbApplyer(owner.SimulationCarrier.IsUlIcicOn);
 }