Example #1
0
 public override void Read(BigEndianStream s, bool inclHeader = true)
 {
     if (inclHeader)
     {
         s.ReadByte(); //Start byte
         s.ReadByte(); //Channel byte
     }
     Flags          = s.ReadUShort();
     MessageFamily  = s.ReadUShort();
     MessageType    = s.ReadUShort();
     SequenceNumber = s.ReadUInt();
     BlockSize      = s.ReadUInt();
     if (BlockSize == 0)
     {
         Block = new TLV[0];
     }
     else
     {
         uint       left  = BlockSize;
         List <TLV> bList = new List <TLV>();
         while (left > 0)
         {
             var b = new TLV();
             b.Read(s);
             bList.Add(b);
             left -= b.GetSize();
         }
         Block = bList.ToArray();
     }
     //byte[] block = s.ReadBytes(BlockSize);
     //Console.WriteLine(BitConverter.ToString(block));
 }
Example #2
0
 public void Read(BigEndianStream s)
 {
     TLVType = s.ReadUShort();
     if (Is32)
     {
         Length = s.ReadUInt();
     }
     else
     {
         Length = s.ReadUShort();
     }
     //Value = new byte[Length];
     Value = s.ReadBytesReversed(Length);
 }