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.
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.
SerdeLeasedBatchPart
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.
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 🔒

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.