Indexed File Builder
IndexedFileBuilder is an abstract class whose specializations say how to configure an IndexedFile being created or opened.
Author
Todd L Smith
Mark van Gulik
Skatje Myers
Parameters
The String to check for at the start of a file implementing this kind of specialization of an IndexedFile. Note that the terminating NUL byte is NOT expected to be part of the string supplied by the client (as of 2020.10.21).
Constructors
Functions
The default function for checking version compatibility.
Create new file of this type, with type-specific parameters overridden as specified.
Properties
The default minimum number of uncompressed bytes at the virtualized end of an indexed file. Once this many uncompressed bytes have accumulated from complete records, they will be compressed together. Since uncompressed data must be written to a master node during each commit, this value should not be too large; but since compression efficiency improves as block size increases, this value should not be too small. A small multiple of the defaultPageSize is optimal.
The default page size of the IndexedFile. This should be a multiple of the disk page size for good performance; for best performance, it should be a common multiple of the disk page size and the memory page size.
The default capacity of the cache of uncompressed records. A number of records equal to the delta between this value and that of defaultStrongCacheSize will be discarded from the cache by the garbage collector when a low-water mark is reached.
The default version of the IndexedFile being built. As representational improvements show up over the years, this value should be incremented, while maintaining suitable backward compatible for some time. Currently, only version 3 is supported.
The NUL-terminated header bytes that uniquely identify a particular usage of the core IndexedFile technology. The NUL byte is added here, and should not be supplied by the constructor.