Module fetch

Source
Expand description

Fetching batches of data from persist’s backing store

StructsΒ§

BatchFetcher
Capable of fetching LeasedBatchPart while not holding any capabilities.
BatchFetcherConfig πŸ”’
EncodedPart πŸ”’
A Blob object that has been fetched, but has no associated decoding logic.
ExchangeableBatchPart
This represents the serde encoding for LeasedBatchPart. We expose the struct itself (unlike other encodable structs) to attempt to provide stricter drop semantics on LeasedBatchPart, i.e. SerdeLeasedBatchPart is exchangeable (including over the network), where LeasedBatchPart is not.
FetchConfig πŸ”’
FetchedBlob
A Blob object that has been fetched, but not at all decoded.
FetchedPart
A Blob object that has been fetched, but not yet fully decoded.
Lease
This represents the lease of a seqno. It’s generally paired with some external state, like a hollow part: holding this lease indicates that we may still want to fetch that part, and should hold back GC to keep it around.
LeasedBatchPart
A token representing one fetch-able batch part.
ShardSourcePart
FetchedPart but with an accompanying permit from the fetch mem/disk semaphore.

EnumsΒ§

FetchBatchFilter πŸ”’
FetchedBlobBuf πŸ”’
PartDecodeFormat
Format we’ll use when decoding a Part.

ConstantsΒ§

FETCH_SEMAPHORE_COST_ADJUSTMENT πŸ”’
FETCH_SEMAPHORE_PERMIT_ADJUSTMENT πŸ”’
OPTIMIZE_IGNORED_DATA_FETCH πŸ”’
PART_DECODE_FORMAT πŸ”’
VALIDATE_PART_BOUNDS_ON_READ πŸ”’

FunctionsΒ§

decode_batch_part_blob πŸ”’
fetch_batch_part πŸ”’
fetch_batch_part_blob πŸ”’
fetch_leased_part πŸ”’
Trade in an exchange-able LeasedBatchPart for the data it represents.