CBVault Configuration

The class accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

CBVault Configuration Settings

AllowMoveStreamsBetweenFiles:   Whether alternate streams may be moved from one file to another.

This setting specifies whether alternate streams may be moved from one file to another using MoveFile or (for the CBDrive or CBMemDrive class) directly by the OS.

By default, this setting is disabled, and alternate streams can only be renamed within the same file, not moved between them.

Note: This setting cannot be changed within events.

AlwaysJournalMetadata:   Whether filesystem structure is always saved during modification, like in Journaling mode.

This setting specifies whether metadata (filesystem structure and directory data) are always saved to the backend medim when changed (this is the same behavior like in Journaling mode but without full journaling).

By default, this setting is enabled for increased stability of the filesystem structure. You can disable this setting to gain additional speed of operations, but the crash of the application ( or (for the CBDrive or CBMemDrive class) of the driver can lead to corruption of the filesystem structure.

Note: This setting cannot be changed within events.

AutoCompactDelay:   How long a vault must remain idle before starting automatic compaction.

When a vault is open, and the AutoCompactAt property is set to a non-zero value, the class will automatically compact the vault in the background as necessary (assuming it is eligible for automatic compaction, as described by the AutoCompactAt documentation). This setting specifies how many milliseconds a vault must remain idle before starting automatic compaction operations.

By default, this setting is set to 0, and automatic compaction operations will start without delay.

Note: This setting cannot be changed within events.

DefaultFileCompressionLevel:   The default compression level to use when creating files and alternate streams.

This setting specifies the default compression level that the class should use when creating files and alternate streams, if applicable. Valid values are 0 through 9; where 0 means "use the default compression level for the selected compression algorithm".

By default, this setting is set to 0.

MaxNonPagedNameLength:   The maximum number of name characters to store directly within a vault item.

This setting specifies the maximum number of name characters that may be stored within a vault item directly. If a vault item's name is longer than the specified value, then the first MaxNonPagedNameLength characters are stored directly, and the rest are stored in a dedicated vault page. The minimum valid non-paged name length is four characters (4).

A vault's max non-paged name length is permanent, it cannot be changed after the vault is created. When a vault is open, this setting cannot be changed, it can only be queried to obtain the value used by the vault.

By default, this setting is set to 0, and the class will automatically choose an optimal value when creating a vault based on PageSize.

Note: This setting cannot be changed when Active is true, and cannot be changed within events.

PageCacheSize:   The size of the in-memory vault page cache.

This setting controls the size of the built-in data cache; it is specified in bytes. The cache must be large enough to contain at least 8 pages, so this setting's minimum valid value is 8 times the value of the PageSize property.

By default, this setting is set to 16777216 (16 MB).

Note: This setting can only be changed when Active is true.

PartSize:   The part size used by a multipart vault.

This setting controls the part size to use when creating new multipart vaults, and reflects the part size used by the currently-open vault. Part size is specified in bytes.

A multipart vault's part size is permanent, it cannot be changed after the vault is created. When a vault is open, this setting cannot be changed, it can only be queried to obtain the value used by the vault.

By default, this setting is set to 0, and the class will not create multipart vaults.

Note: This setting cannot be changed when Active is true, and cannot be changed within events.

Copyright (c) 2021 Callback Technologies, Inc. - All rights reserved.
CBFS Storage 2020 Qt Edition - Version 20.0 [Build 8031]