Table of Contents

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

ChronicleHash

WriteBool(bool)

Writes a Boolean value as one canonical byte.

public void WriteBool(bool value)

Parameters

value bool

WriteByte(byte)

Writes an unsigned 8-bit value.

public void WriteByte(byte value)

Parameters

value byte

WriteChar(char)

Writes a UTF-16 code unit in little-endian byte order.

public void WriteChar(char value)

Parameters

value char

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

value TEnum

Type Parameters

TEnum

WriteInt16(short)

Writes a signed 16-bit value in little-endian byte order.

public void WriteInt16(short value)

Parameters

value short

WriteInt32(int)

Writes a signed 32-bit value in little-endian byte order.

public void WriteInt32(int value)

Parameters

value int

WriteInt64(long)

Writes a signed 64-bit value in little-endian byte order.

public void WriteInt64(long value)

Parameters

value long

WriteSByte(sbyte)

Writes a signed 8-bit value by its two's-complement byte.

public void WriteSByte(sbyte value)

Parameters

value sbyte

WriteSection(string, int)

Writes a stable ASCII section tag and schema version.

public void WriteSection(string tag, int version)

Parameters

tag string
version int

WriteString(string?)

Writes a nullable string as a presence marker, length, and UTF-16 code units.

public void WriteString(string? value)

Parameters

value string

WriteUInt16(ushort)

Writes an unsigned 16-bit value in little-endian byte order.

public void WriteUInt16(ushort value)

Parameters

value ushort

WriteUInt32(uint)

Writes an unsigned 32-bit value in little-endian byte order.

public void WriteUInt32(uint value)

Parameters

value uint

WriteUInt64(ulong)

Writes an unsigned 64-bit value in little-endian byte order.

public void WriteUInt64(ulong value)

Parameters

value ulong