Class ZoneTreeOptions<TKey, TValue>
Represents configuration options of a ZoneTree.
Inherited Members
Namespace: Tenray.ZoneTree.Options
Assembly: ZoneTree.dll
Syntax
public sealed class ZoneTreeOptions<TKey, TValue>
Type Parameters
| Name | Description |
|---|---|
| TKey | The key type |
| TValue | The value type |
Properties
| Improve this Doc View SourceBTreeLeafSize
The B+Tree leaf size.
Declaration
public int BTreeLeafSize { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
BTreeLockMode
Controls lock granularity of in-memory BTree that represents the mutable segment.
Declaration
public BTreeLockMode BTreeLockMode { get; set; }
Property Value
| Type | Description |
|---|---|
| BTreeLockMode |
BTreeNodeSize
The B+Tree node size.
Declaration
public int BTreeNodeSize { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Comparer
The key comparer.
Declaration
public IRefComparer<TKey> Comparer { get; set; }
Property Value
| Type | Description |
|---|---|
| IRefComparer<TKey> |
DeleteValueConfigurationValidation
Defines the validation behavior of not providing the delete value delegates.
Declaration
public DeleteValueConfigurationValidation DeleteValueConfigurationValidation { get; set; }
Property Value
| Type | Description |
|---|---|
| DeleteValueConfigurationValidation |
DiskSegmentMaxItemCount
Disk segment maximumum key-value pair count. When the maximum count is reached The disk segment is enqueued into to the bottom segments layer.
Declaration
public int DiskSegmentMaxItemCount { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
DiskSegmentOptions
Disk Segment options. The options are used to create new disk segments. Existing disk segments are created with their existing options.
Declaration
public DiskSegmentOptions DiskSegmentOptions { get; set; }
Property Value
| Type | Description |
|---|---|
| DiskSegmentOptions |
EnableSingleSegmentGarbageCollection
If the ZoneTree contains only a single segment (which is the mutable segment), there is an opportunity to perform a hard delete of the soft deleted values. If enabled, the tree performs garbage collection on load if it is applicable.
Declaration
public bool EnableSingleSegmentGarbageCollection { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
IsValueDeleted
Delegate to query value deletion state.
Declaration
public IsValueDeletedDelegate<TValue> IsValueDeleted { get; set; }
Property Value
| Type | Description |
|---|---|
| IsValueDeletedDelegate<TValue> |
KeySerializer
The key serializer.
Declaration
public ISerializer<TKey> KeySerializer { get; set; }
Property Value
| Type | Description |
|---|---|
| ISerializer<TKey> |
Logger
ZoneTree Logger.
Declaration
public ILogger Logger { get; set; }
Property Value
| Type | Description |
|---|---|
| ILogger |
MarkValueDeleted
Delegate to mark value deleted.
Declaration
public MarkValueDeletedDelegate<TValue> MarkValueDeleted { get; set; }
Property Value
| Type | Description |
|---|---|
| MarkValueDeletedDelegate<TValue> |
MutableSegmentMaxItemCount
Mutable segment maximumum key-value pair count. When the maximum count is reached MoveMutableSegmentForward is called and current mutable segment is enqueued to the ReadOnlySegments layer.
Declaration
public int MutableSegmentMaxItemCount { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
RandomAccessDeviceManager
Configures the random access device manager.
Declaration
public IRandomAccessDeviceManager RandomAccessDeviceManager { get; set; }
Property Value
| Type | Description |
|---|---|
| IRandomAccessDeviceManager |
ValueSerializer
The value serializer.
Declaration
public ISerializer<TValue> ValueSerializer { get; set; }
Property Value
| Type | Description |
|---|---|
| ISerializer<TValue> |
WriteAheadLogOptions
Write Ahead Log Options. The options are used to create new Write Ahead Logs. Existing WALs are created with their existing options.
Declaration
public WriteAheadLogOptions WriteAheadLogOptions { get; set; }
Property Value
| Type | Description |
|---|---|
| WriteAheadLogOptions |
WriteAheadLogProvider
Configures the write ahead log provider.
Declaration
public IWriteAheadLogProvider WriteAheadLogProvider { get; set; }
Property Value
| Type | Description |
|---|---|
| IWriteAheadLogProvider |
Methods
| Improve this Doc View SourceCreateDefaultDeleteDelegates()
Creates default delete delegates for nullable types.
Declaration
public void CreateDefaultDeleteDelegates()
TryValidate(out Exception)
Tries validate ZoneTree options without throwing an exception.
Declaration
public bool TryValidate(out Exception exception)
Parameters
| Type | Name | Description |
|---|---|---|
| Exception | exception | The exception outcome of validation. |
Returns
| Type | Description |
|---|---|
| bool | true if validation succeeds, false otherwise. |
Validate()
Validates the ZoneTree options.
Declaration
public void Validate()