22 lines
1.0 KiB
C#
Raw Normal View History

2019-06-12 21:56:55 +02:00
using System;
namespace Capnp
{
/// <summary>
/// An implementations of this interface represents a struct which is being deserialized from a Cap'n Proto object.
/// </summary>
public interface IStructDeserializer
{
/// <summary>
/// Reads a slice of up to 64 bits from this struct's data section, starting from the specified bit offset.
/// The slice must be aligned within a 64 bit word boundary.
/// </summary>
/// <param name="bitOffset">Start bit offset relative to the data section, little endian</param>
/// <param name="bitCount">numbers of bits to read</param>
/// <returns>the data</returns>
/// <exception cref="ArgumentOutOfRangeException">non-aligned access</exception>
/// <exception cref="IndexOutOfRangeException">bitOffset exceeds the data section</exception>
/// <exception cref="DeserializationException">this state does not represent a struct</exception>
ulong StructReadData(ulong bitOffset, int bitCount);
}
2020-01-11 17:56:12 +01:00
}