Esempio n. 1
0
 private void ParseData(byte[] data)
 {
     var reader = new PacketReader(data);
     var header = reader.ReadLong();
     payload = reader.GetRest();
 }
Esempio n. 2
0
        private bool ParseData(byte[] data)
        {
            var reader = new PacketReader(data);
            var header = reader.ReadLong();
            var id = reader.ReadLong();
            logger.Debug("ID: {0}", id);
            if (IsIncorrectId(id))
            {
                return false;
            }
            this.id = id;

            var numberOfPacketInfo = reader.ReadByte();
            var bits = new BitArray(new byte[] { numberOfPacketInfo });

            totalNumberOfParts = GetTotalNumberOfPackets(bits);

            logger.Debug("TOTAL PARTS: {0}", totalNumberOfParts);
            var number = GetNumberOfPacket(bits);
            logger.Debug("NUMBER: {0}", number);

            if (number == 0)
            {
                var strangeNumberInFirstPacket = reader.ReadLong();
                logger.Debug("Strange number: {0}", strangeNumberInFirstPacket);
            }

            var payloadPart = reader.GetRest();
            parts.Add(new PacketPartData { Number = number, Data = payloadPart });

            logger.Debug("END PART");

            return true;
        }