예제 #1
0
        /// <summary>
        /// Deserialize a 16 bits value.
        /// </summary>
        /// <param name="buffer">The buffer containing the serialized data.</param>
        /// <param name="start">The start index in the buffer of the serialized value.</param>
        /// <param name="value">The deserialized value.</param>
        /// <returns>The number of deserialized bytes.</returns>
        protected uint FromBytes(Buffer buffer, uint start, out Converter16 value)
        {
            byte b1, b2;

            uint read = FromBytes(buffer, start, out b1);

            read += FromBytes(buffer, start + read, out b2);

            value = new Converter16(b1, b2);

            return(read);
        }
예제 #2
0
        /// <summary>
        /// Serialize a 16 bits value.
        /// </summary>
        /// <param name="buffer">The buffer where to serialize the data.</param>
        /// <param name="start">The start index in the buffer where to serialize the data.</param>
        /// <param name="value">The value to serialize.</param>
        /// <returns>The number of serialized bytes.</returns>
        public uint ToBytes(ref Buffer buffer, uint start, Converter16 value)
        {
            CheckSerializationParameters(buffer, start);

            // Resize buffer if necessary
            ResizeBuffer(ref buffer, start + shortSize);

            byte[] data = buffer.Data;

            data[start]     = value.Byte1;
            data[start + 1] = value.Byte2;

            buffer.Progress(start + shortSize);

            return(shortSize);
        }