Table of Contents

Enum ChecksumType

Namespace
RocksDbNet
Assembly
RocksDb.Net.dll

Checksum algorithm used to protect each block.

public enum ChecksumType

Fields

Crc32c = 1

CRC32C, hardware-accelerated on most processors.

None = 0

No checksum. Corruption in a block is not detected, so this trades the only mechanism that notices a damaged file for a little write time.

XxHash = 2

xxHash, 32-bit output.

XxHash64 = 3

xxHash64, truncated to 32 bits in the block trailer.

Xxh3 = 4

XXH3, the default. Faster than the rest on current processors.

Remarks

Mirrors ChecksumType in include/rocksdb/table.h at the pinned version. The numbering is doubly safe to rely on: the value is written into every SST file and read back by whichever version opens it later, so it cannot be renumbered without breaking every file already on disk.

Checked against the running library as well as the header. The C API accepts exactly 0 to 4 and rejects anything outside, naming ChecksumType when it does; a fresh BlockBasedTableOptions reports 4; and RocksDb's own option parser accepts exactly the five names these members are called after.

Selecting one by name also works without this enum, through DbOptions.WithOptionsFromString("block_based_table_factory={checksum=kXXH3;}").