/// <summary> /// 初始化 /// </summary> public override void Init() { this.BufferedStream = BuildBufferedStream(); this.BufferedStream.MaterialBuffersFullOrEnd += OnMaterialBuffersFullOrEnd; this.BufferedStream.MaterialCheck += CheckMaterial; this.BufferedStream.AfterMaterialCheckPassed += OnAfterMaterialCheckPassed; log.Info(BufferedStream.Name + " 起始处理编号: " + BufferedStream.StartIndex + ", 最大处理数量: " + BufferedStream.EnumCount); }
/// <summary> /// 释放资源 /// </summary> public virtual void Dispose() { if (TableTextManager != null) { TableTextManager.Dispose(); } if (BufferedStream != null) { BufferedStream.Dispose(); BufferedStream = null; } }
/// <summary> /// 小观测段数据移除器 /// </summary> /// <param name="BufferedStream"></param> /// <param name="MinEpochCount"></param> /// <param name="MaxBreakCount"></param> /// <param name="LastEpoch">如果不正确提供,请设置为最大</param> public SmallObsPeriodRemover(BufferedStreamService <T> BufferedStream, int MinEpochCount, int MaxBreakCount, Time LastEpoch, double interval = 0) { this.BufferedStream = BufferedStream; this.BufferedStream.MaterialEnded += BufferedStream_MaterialEnded; this.Buffers = this.BufferedStream.MaterialBuffers; this.MinEpochCount = MinEpochCount; this.MaxBreakCount = MaxBreakCount; this.LastEpoch = LastEpoch; this.Inverval = interval; this.WindowDataManager = new WindowDataManager <SatelliteNumber, Time>(this.MinEpochCount + this.MaxBreakCount + 2); }