public void Test_IsExpected() { uint initialValue = 0; uint maxValue = 255; var mgr = new SeqNoManager(initialValue, maxValue, 3); mgr.UpdateAckSeq(0); var actual = mgr.IsExpected(1); Assert.AreEqual(true, actual); actual = mgr.IsExpected(2); Assert.AreEqual(true, actual); actual = mgr.IsExpected(3); Assert.AreEqual(true, actual); actual = mgr.IsExpected(4); Assert.AreEqual(false, actual); actual = mgr.IsExpected(5); Assert.AreEqual(false, actual); mgr.UpdateAckSeq(254); actual = mgr.IsExpected(255); Assert.AreEqual(true, actual); actual = mgr.IsExpected(0); Assert.AreEqual(true, actual); actual = mgr.IsExpected(1); Assert.AreEqual(true, actual); actual = mgr.IsExpected(2); Assert.AreEqual(false, actual); }
private bool CheckFrame(SaiFrame saiFrame) { if (this.Connected) { return(_seqNoManager.IsExpected(saiFrame.SequenceNo)); } else { if (saiFrame.FrameType == SaiFrameType.EC_Start || saiFrame.FrameType == SaiFrameType.TTS_OffsetStart || saiFrame.FrameType == SaiFrameType.TTS_OffsetAnswer1) { return(true); } else { return(_seqNoManager.IsExpected(saiFrame.SequenceNo)); } } }
private bool CheckFrame(AleFrame theFrame) { // 1. 检查帧类型。 // CR帧与CC帧固定有效。 if (theFrame.FrameType == AleFrameType.ConnectionRequest || theFrame.FrameType == AleFrameType.ConnectionConfirm) { return(true); } // 2. 检查序列号。 // D类服务中序号才有效,A类服务中的序号都是0。 if (_rsspEndPoint.ServiceType == ServiceType.A) { return(true); } else { return(_seqNoManager.IsExpected(theFrame.SequenceNo)); } }