Expand description

A controller that provides an interface to the storage layer.

The storage controller curates the creation of sources, the progress of readers through these collections, and their eventual dropping and resource reclamation.

The storage controller can be viewed as a partial map from GlobalId to collection. It is an error to use an identifier before it has been “created” with create_source(). Once created, the controller holds a read capability for each source, which is manipulated with update_read_capabilities(). Eventually, the source is dropped with either drop_sources() or by allowing compaction to the empty frontier.

Structs

Describes a request to create a source.
Metadata required by a storage instance to read a storage collection
State maintained about individual collections.
A storage controller for a storage instance.
Opaque token to ensure prepare_export is called before create_exports. This token proves that compaction is being held back on from_id at least until id is created. It should be held while the AS OF is determined.
The subset of CollectionMetadata that must be durable stored.
State maintained about individual exports.
Controller state maintained for each storage instance.

Enums

Describes how data is written to the collection.
Compaction policies for collections maintained by Controller.

Statics

Traits

A trait that is used to calculate safe resumption frontiers for a source.