| Interface | Description |
|---|---|
| BinarySearcher | |
| Block |
A block is a sub-sequence of bytes with a fixed finite length which
however may be initially unknown, and thus has a certain horizon of explored length.
|
| BlockSource | |
| ByteBufferSupplier |
Interface for mapping a position to a corresponding byte buffer
|
| Page |
A page is a fixed size sequence of bytes obtained from a page manager backed by a ByteBuffer.
|
| PageManager | |
| Seekable |
Interface that enables relative navigation over data of fixed finite
but possibly initially unknown size.
|
| SeekableSource | |
| Segment |
A segment is a sequence of bytes with a fixed size.
|
| Class | Description |
|---|---|
| BinarySearchOnBlockSource | |
| BinarySearchOnSortedFile |
Binary search over sorted files with memory mapped IO
TODO Move to a separate project as this is of general use
TODO Allow cache to be shared between concurrent readers
|
| BinSearchScanState |
State information for scanning a region once binary search has found an offset.
|
| BlockIterState |
A helper iterator that automatically closes
the previous item when next() is called.
|
| BlockSourceFromPageManager |
A block source mainly for testing the rest of the block-based
machinery, such as binary search.
|
| BlockSources | |
| BufferFromInputStream |
Implementation of a byte array that caches data in buckets from
an InputStream.
|
| BufferFromInputStream.BucketPointer | |
| ByteBufferSupplierPaged | |
| CharSequenceFromSeekable | |
| DecodedDataBlock | |
| GraphFromPrefixMatcher |
TODO Check whether Graph is the appropriate abstraction
|
| GraphFromSubjectCache | |
| MainPlaygroundScanFile | |
| PageBase | |
| PageManagerForByteBuffer |
PageManager wrapper for a static buffer
|
| PageManagerForFileChannel | |
| PageManagerWrapper |
A wrapper that virtually puts a displaced page view over a delegate
There must be a 1:1 correspondence between page and byte buffer.
|
| PageNavigator |
An object for (predominantly relative) positioning over a
sequence of fixed size pages
|
| ReadableByteChannelBase | |
| ReadableByteChannelForLinesMatchingPrefix | |
| ReadableByteChannelFromBlockingQueue | |
| ReverseCharSequenceFromSeekable | |
| SeekableFromBlock |
Segment could have predecessor / successor methods, but
how can we slice segments we request?
The use case is to scan backward until a condition is no longer satisfied,
maybe we don't need slicing then
|
| SeekableMatcherDelegate | |
| SeekableMatcherForByte | |
| Seekables | |
| SeekableSourceFromPageManager |
Copyright © 2020. All rights reserved.