Table of Contents

Enum EventKinds

Namespace
RocksDbNet
Assembly
RocksDb.Net.dll

The events an EventListener wants to be told about.

[Flags]
public enum EventKinds

Fields

All = FlushBegin | FlushCompleted | CompactionBegin | CompactionCompleted | SubCompactionBegin | SubCompactionCompleted | ExternalFileIngested | BackgroundError | StallConditionsChanged | MemTableSealed

Every event. The default.

BackgroundError = 128

OnBackgroundError(BackgroundErrorInfo).

CompactionBegin = 4

OnCompactionBegin(CompactionJobInfo).

CompactionCompleted = 8

OnCompactionCompleted(CompactionJobInfo).

ExternalFileIngested = 64

OnExternalFileIngested(ExternalFileIngestionInfo).

FlushBegin = 1

OnFlushBegin(FlushJobInfo).

FlushCompleted = 2

OnFlushCompleted(FlushJobInfo).

MemTableSealed = 512

OnMemTableSealed(MemTableInfo).

None = 0

No events.

StallConditionsChanged = 256

OnStallConditionsChanged(WriteStallInfo).

SubCompactionBegin = 16

OnSubCompactionBegin(SubCompactionJobInfo).

SubCompactionCompleted = 32

OnSubCompactionCompleted(SubCompactionJobInfo).

Remarks

Override Subscribed to narrow this. The default is All, so a listener that says nothing receives everything and narrowing is an optimisation rather than a requirement — a listener cannot go silent by forgetting to declare an event it overrode.

What narrowing saves is the construction of the job-info object an event carries, which is measurable: a listener overriding five of the ten events allocates about twice what one overriding none does, while the boundary crossing itself costs nothing detectable. See the benchmarks.