Table of Contents

Class WalWriterOptions

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

Configuration options for the WAL Writer thread.

public sealed class WalWriterOptions
Inheritance
WalWriterOptions
Inherited Members

Constructors

WalWriterOptions()

public WalWriterOptions()

Properties

GroupCommitIntervalMs

GroupCommit flush interval in milliseconds. The WAL writer auto-flushes at this interval when using GroupCommit. Default: 5ms.

public int GroupCommitIntervalMs { get; set; }

Property Value

int

PreAllocateSegments

Number of segments to pre-allocate ahead of the write position. Default: 4.

public int PreAllocateSegments { get; set; }

Property Value

int

SegmentSize

Size of each WAL segment file in bytes. Default: 64 MB.

public uint SegmentSize { get; set; }

Property Value

uint

StagingBufferSize

Size of the 4096-byte-aligned staging buffer used for O_DIRECT writes. Default: 256 KB. Must be a multiple of 4096.

public int StagingBufferSize { get; set; }

Property Value

int

UseFUA

Whether to open segment files with FUA (Force Unit Access) for per-write durability. When true, each write is durable on return. When false, explicit flush calls are needed. Default: true (safe default for Immediate mode support).

public bool UseFUA { get; set; }

Property Value

bool

WalDirectory

Directory where WAL segment files are stored. Leave null (the default) to let the engine derive {bundle}/wal inside the database's .typhon bundle — this keeps each database's WAL private and drops the old cwd-relative shared wal/. Set explicitly only to place the WAL elsewhere.

public string WalDirectory { get; set; }

Property Value

string

WriterThreadCoreAffinity

Core affinity for the WAL writer thread. -1 for no affinity (default). When set, pins the writer thread to the specified logical core.

public int WriterThreadCoreAffinity { get; set; }

Property Value

int