Beispiel #1
0
        public TtsDefenseStrategy(ISaiFrameTransport frameTransport, bool isInitiator)
        {
            this.Calculator = new TimeOffsetCalculator(isInitiator, ExtraDelay, MaxDifference);

            this.LocalTts = new TripleTimestamp(this);

            _timeOffsetUpdater = new TimeOffsetUpdater(frameTransport, this, TimeOffserUpdateInterval);
        }
Beispiel #2
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="frameTransport"></param>
        /// <param name="observer"></param>
        /// <param name="interval">TTS更新周期(单位:秒)</param>
        public TimeOffsetUpdater(ISaiFrameTransport frameTransport, ITimeOffsetUpdaterObserver observer, int interval)
        {
            if (interval < MinInterval)
            {
                throw new ArgumentException(string.Format("TTS更新周期不能小于{0}秒。", MinInterval));
            }

            _ttsFrameTransport = frameTransport;
            _ttsFrameTransport.SaiFrameReceived += OnSaiFrameReceived;

            _observer = observer;

            this.CreateTimer(interval);

            this.StartTimer();
        }