Struct ChronicleHashWriter
- Namespace
- Chronicler
- Assembly
- Chronicler.dll
Writes deterministic primitive payloads into a fixed-width record hash.
public struct ChronicleHashWriter
- Inherited Members
Remarks
This is a non-cryptographic conformance/replay hash writer. It is intended for deterministic state comparison, not for security or tamper resistance.
Constructors
ChronicleHashWriter()
Creates a writer seeded for an empty deterministic hash stream.
public ChronicleHashWriter()
Methods
ToHash()
Finalizes and returns the current hash value.
public ChronicleHash ToHash()
Returns
WriteBool(bool)
Writes a Boolean value as one canonical byte.
public void WriteBool(bool value)
Parameters
valuebool
WriteByte(byte)
Writes an unsigned 8-bit value.
public void WriteByte(byte value)
Parameters
valuebyte
WriteChar(char)
Writes a UTF-16 code unit in little-endian byte order.
public void WriteChar(char value)
Parameters
valuechar
WriteEnum<TEnum>(TEnum)
Writes an enum value by its underlying integral bytes in little-endian byte order.
public void WriteEnum<TEnum>(TEnum value) where TEnum : struct, Enum
Parameters
valueTEnum
Type Parameters
TEnum
WriteInt16(short)
Writes a signed 16-bit value in little-endian byte order.
public void WriteInt16(short value)
Parameters
valueshort
WriteInt32(int)
Writes a signed 32-bit value in little-endian byte order.
public void WriteInt32(int value)
Parameters
valueint
WriteInt64(long)
Writes a signed 64-bit value in little-endian byte order.
public void WriteInt64(long value)
Parameters
valuelong
WriteSByte(sbyte)
Writes a signed 8-bit value by its two's-complement byte.
public void WriteSByte(sbyte value)
Parameters
valuesbyte
WriteSection(string, int)
Writes a stable ASCII section tag and schema version.
public void WriteSection(string tag, int version)
Parameters
WriteString(string?)
Writes a nullable string as a presence marker, length, and UTF-16 code units.
public void WriteString(string? value)
Parameters
valuestring
WriteUInt16(ushort)
Writes an unsigned 16-bit value in little-endian byte order.
public void WriteUInt16(ushort value)
Parameters
valueushort
WriteUInt32(uint)
Writes an unsigned 32-bit value in little-endian byte order.
public void WriteUInt32(uint value)
Parameters
valueuint
WriteUInt64(ulong)
Writes an unsigned 64-bit value in little-endian byte order.
public void WriteUInt64(ulong value)
Parameters
valueulong