Beispiel #1
0
 public static byte[] Read(this ConnectionBuffer buffer, int size)
 {
     byte[] result = new byte[size];
     Buffer.BlockCopy(buffer.Data, buffer.ReadIndex, result, 0, size);
     buffer.ReadIndex += size;
     return(result);
 }
Beispiel #2
0
        public static int ReadShort(this ConnectionBuffer buffer)
        {
            int result = buffer.Data[buffer.ReadIndex++] << 8;

            result += buffer.Data[buffer.ReadIndex++];

            return(result);
        }
Beispiel #3
0
        public static int FindSequence(this ConnectionBuffer buffer, byte[] sequence)
        {
            for (int i = buffer.ReadIndex; i < buffer.WriteIndex - sequence.Length + 1; i++)
            {
                bool contains = true;

                for (int j = 0; j < sequence.Length; j++)
                {
                    if (buffer.Data[i + j] != sequence[j])
                    {
                        contains = false;
                        break;
                    }
                }

                if (contains)
                {
                    return(i - buffer.ReadIndex);
                }
            }

            return(-1);
        }
Beispiel #4
0
 public static byte Read(this ConnectionBuffer buffer)
 {
     return(buffer.Data[buffer.ReadIndex++]);
 }