Skip to main content

Module change_stream

Module change_stream 

Source
Expand description

The change stream each storage backend publishes.

A backend describes its cost-tracking reporting with a CostTrackerStreamConfig; the service describes where those records go with a CostTrackerConfig, shared by every backend. ChangeStreamFactory pairs the two into a ChangeStream.

Behind the storage-cogs feature. Without it every backend gets a NoopStream and the transport is left out of the binary.

Structs§

ChangeStreamFactory
Builds the ChangeStream impl(s) a backend reports to.
CostTrackerStream
Reports through an InventoryTracker, which hashes each ObjectId both to anonymize it and to decide whether it is sampled. See objectstore_inventory_tracker for the record format.
CostTrackerStreamConfig
What a single backend reports for cost tracking, and how much of it.
NoopStream
A ChangeStream that reports nothing.

Enums§

CostTrackerConfig
Where every backend’s change stream records are carried for cost tracking.

Constants§

FLUSH_TIMEOUT
How long a backend waits for reported records to be handed off during shutdown.

Traits§

ChangeStream
Publishes the changes a single backend makes to the objects it stores.

Functions§

flush_change_stream
Drains change_stream, bounded by FLUSH_TIMEOUT.