Example #1
0
        public void Test3()
        {
            var aleData1 = new AleDataTransmission()
            {
                UserData = new byte[] { 100, 200 }
            };

            var aleFrame1 = new AleFrame(1, 111, false, aleData1);

            aleFrame1.Version         = 1;
            aleFrame1.ApplicationType = 22;
            aleFrame1.SequenceNo      = 300;

            Assert.AreEqual(AleFrameType.DataTransmission, aleFrame1.FrameType);

            var bytes = aleFrame1.GetBytes();

            var aleFrame2 = new AleFrame();

            aleFrame2.ParseBytes(bytes);

            Assert.AreEqual(aleFrame2.Version, aleFrame1.Version);
            Assert.AreEqual(aleFrame2.ApplicationType, aleFrame1.ApplicationType);
            Assert.AreEqual(aleFrame2.SequenceNo, aleFrame1.SequenceNo);
            Assert.AreEqual(aleFrame2.IsNormal, aleFrame1.IsNormal);

            var aleData2 = aleFrame2.UserData as AleDataTransmission;

            Assert.NotNull(aleData2);
            Assert.AreEqual(aleData1.UserData[0], aleData2.UserData[0]);
            Assert.AreEqual(aleData1.UserData[1], aleData2.UserData[1]);
        }
Example #2
0
        public override void SendUserData(byte[] maslPacket)
        {
            var aleData   = new AleDataTransmission(maslPacket);
            var seqNo     = (ushort)this.Context.SeqNoManager.GetAndUpdateSendSeq();
            var appType   = this.Context.RsspEP.ApplicatinType;
            var dataFrame = new AleFrame(appType, seqNo, false, aleData);

            // send
            if (this.Context.RsspEP.ServiceType == ServiceType.A)
            {
                this.Context.Tunnels.ToList().ForEach(connection =>
                {
                    if (connection.IsActive)
                    {
                        dataFrame.IsNormal = connection.IsNormal;
                        var bytes          = dataFrame.GetBytes();
                        connection.Send(bytes);
                    }
                });
            }
            else
            {
                dataFrame.IsNormal = false;
                var bytes = dataFrame.GetBytes();
                this.Context.Tunnels.ToList().ForEach(connection =>
                {
                    connection.Send(bytes);
                });
            }
        }
        public void Test1()
        {
            var data1 = new AleDataTransmission();

            data1.UserData = new byte[] { 100, 200 };

            var bytes = data1.GetBytes();

            var data2 = new AleDataTransmission();

            data2.ParseBytes(bytes, 0, bytes.Length - 1);

            Assert.AreEqual(AleFrameType.DataTransmission, data2.FrameType);
            Assert.AreEqual(100, data2.UserData[0]);
            Assert.AreEqual(200, data2.UserData[1]);
        }