Exemplo n.º 1
0
        public byte[] BuildArPacket()
        {
            var frame = new MaslArFrame();

            frame.MAC = this.CalcArMAC(frame, _rsspEndPoint.RemoteID);

            return(frame.GetBytes());
        }
Exemplo n.º 2
0
        public void Test1()
        {
            var mac    = new byte[] { 0x4f, 0x2c, 0xe, 0xa1, 0x3f, 0x3e, 0xb4, 0x4a };
            var frame1 = new MaslArFrame()
            {
                MAC = mac
            };

            var bytes = frame1.GetBytes();

            var frame2 = new MaslArFrame();

            frame2.ParseBytes(bytes, 0, bytes.Length);

            Assert.AreEqual(frame1.DeviceType, frame2.DeviceType);
            Assert.AreEqual(frame1.Direction, frame2.Direction);
            Assert.AreEqual(frame1.FrameType, frame2.FrameType);
            CollectionAssert.AreEqual(frame1.MAC, frame2.MAC);
        }
Exemplo n.º 3
0
        public byte[] CalcArMAC(MaslArFrame frame, uint destAddress)
        {
            using (var memStream = new MemoryStream(10))
            {
                // L
                memStream.WriteByte(0);
                memStream.WriteByte(4);

                // DA
                memStream.WriteByte((byte)((destAddress >> 16) & 0xFF));
                memStream.WriteByte((byte)((destAddress >> 8) & 0xFF));
                memStream.WriteByte((byte)((destAddress) & 0xFF));

                // ETY+MTI+DF
                memStream.WriteByte(frame.GetHeaderByte());

                //
                var mac = _macCalc.CalcMac(memStream.ToArray());

                return(mac);
            }
        }
Exemplo n.º 4
0
 public override void HandleArFrame(MaslArFrame frame)
 {
     throw new SequenceIntegrityException();
 }
Exemplo n.º 5
0
 public override void HandleArFrame(MaslArFrame frame)
 {
     throw new MaslException(MaslErrorCode.SequenceIntegrityFailure);
 }
Exemplo n.º 6
0
 public virtual void HandleArFrame(MaslArFrame frame)
 {
     LogUtility.Error(string.Format("{0}: {1}.{2} not implement!",
                                    this.Context.RsspEP.ID, this.GetType().Name,
                                    new StackFrame(0).GetMethod().Name.Split('.').Last()));
 }
Exemplo n.º 7
0
 public override void HandleArFrame(MaslArFrame frame)
 {
     throw new NotAu3ObtainedAfterAu2Exception();
 }