All Classes and Interfaces

Class
Description
 
 
 
 
 
 
scanner that batches byte[]s into List<byte[]>s containing as many unbroken byte[]s as possible without exceeding maxOutputBytes total bytes.
Encodes key/value pairs to a flattened byte[].
 
 
 
 
 
 
 
Checksum each block for the purposes of hunting down corruption and potentially skipping invalid blocks.
 
 
For looping over a directory of KvFiles and merging N files at a time until only targetNumFiles remain.
 
Keeps track of files during a compaction.
 
 
 
 
Note this does not record endings for the footer or trailer since those can be computed separately.
 
 
[prefix] - fixed length [footerValue] - variable length [footerLength] - fixed length (considered part of the block)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A generic KeyValue, plus a version represented as bytes.
Format: [keyLength] varint [keyBytes] bytes [versionLength] varint [versionBytes] bytes [op] single byte [valueLength] varint [valueBytes] bytes
Collate BlockfileRows using only the binary data, not requiring the objects to be decoded.
Assumes non-null entries.
Assumes non-null entries.
 
 
 
 
 
 
 
 
Either PUT or DELETE.
 
Equivalent to BlockfileRow but without the value field.
 
Holds bytes for some arbitrary position in the file.
 
Rows are appended without any offset dictionary.
 
 
 
 
"name" may contain subpaths, but without a leading slash.
 
Sections: - block length - block type - number of index entries - children info table: blockId, fromItemId, toItemId, fromBytes, length, indexEntryOffset - concatenation of index entries
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Concatenated List of byte arrays with RandomAccess
VarInt size VarInt for the length of each array The concatenated arrays
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A bi-directional Function where encoding then decoding should typically return the original value.
Build a Codec from two Functions.
Skips the inner codecs when provided values are null, directly returning null.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
For converting from a ByteArrayOutputStream to a ByteArrayInputStream without making a copy of the data.
Gzip normally encodes and decodes in a single thread which underutilizes multi-threaded hardware.
Returned while encoding with convenience methods.
One or more tokens that make up a "row" of data.
Currently reuses ByteArrayOutputStreams.
 
 
 
 
 
 
Some situations like S3 multipart upload require wrapping a known quantity of bytes into an InputStream.
 
 
 
 
 
 
 
 
Encodes a String as UTF-8 bytes prefixed with the number of bytes encoded as a VarInt.
Provides a view over a subset of a primitive float array with List<Float> semantics.
Provides a view over a subset of a primitive int array with List<Integer> semantics.
 
Provides a view over a subset of a primitive long array with List<Long> semantics.
 
 
 
 
 
 
 
 
 
Explicitly for storing byte arrays as java record fields.
Wrapper around a function to handle exceptional values like null.
Replace nulls with nulls.
Replace nulls with something provided by the Supplier
Restricts the input arrays to being ordered lexicographically, enabling binary search.
Encodes a String without any length information or terminal bytes.
 
Terminated arrays can be embedded in a bigger array knowing that 0 is the terminal character.
 
 
 
Concatenate multiple byte arrays into a bigger array.
 
Encodes a positive long value to a variable number of bytes.