public static DecodeUInt16 ( byte buffer, int offset ) : ushort | ||
buffer | byte | |
offset | int | |
return | ushort |
unsafe void DeserializeHeader(byte[] header, out int dataLength, out int extraLength) { fixed(byte *buffer = header) { if (buffer[0] != MAGIC_VALUE) { throw new InvalidOperationException($"Expected magic value \"{MAGIC_VALUE}\" but received \"{buffer[0]}\""); } this.DataType = buffer[HEADER_DATATYPE]; this.Opcode = buffer[HEADER_OPCODE]; this.StatusCode = BinaryConverter.DecodeUInt16(buffer, HEADER_STATUS); this.KeyLength = BinaryConverter.DecodeUInt16(buffer, HEADER_KEY); this.CorrelationID = BinaryConverter.DecodeInt32(buffer, HEADER_OPAQUE); this.CAS = BinaryConverter.DecodeUInt64(buffer, HEADER_CAS); dataLength = BinaryConverter.DecodeInt32(buffer, HEADER_BODY); extraLength = buffer[HEADER_EXTRA]; } }