pub struct Controller<T: Timestamp + Lattice + Codec64 + From<EpochMillis> + TimestampManipulation> {
    state: StorageControllerState<T>,
    hosts: StorageHosts<T>,
    internal_response_queue: UnboundedReceiver<StorageResponse<T>>,
    persist_location: PersistLocation,
    persist: Arc<Mutex<PersistClientCache>>,
}
Expand description

A storage controller for a storage instance.

Fields

state: StorageControllerState<T>hosts: StorageHosts<T>

Storage host provisioning and storage object assignment.

internal_response_queue: UnboundedReceiver<StorageResponse<T>>

Mechanism for returning frontier advancement for tables.

persist_location: PersistLocation

The persist location where all storage collections are being written to

persist: Arc<Mutex<PersistClientCache>>

A persist client used to write to storage collections

Implementations

Create a new storage controller from a client it should wrap.

Validate that a collection exists for all identifiers, and error if any do not.

Validate that a collection exists for all identifiers, and error if any do not.

Trait Implementations

Effectively truncates the data_shard associated with global_id effective as of the system time.

Panics
  • If id does not belong to a collection or is not registered as a managed collection.

Append updates to the data_shard associated with global_id effective as of the system time.

Panics
  • If id is not registered as a managed collection.

Append updates to the data_shard correlated with global_id effective as of the system time.

Panics
  • If IntrospectionType::ShardMapping is not correlated with a GlobalId.
  • If IntrospectionType::ShardMapping’s GlobalId is not registered as a managed collection.

Tracks the mapping of GlobalId to data shards in the collection at self.state.shard_collection_global_id.

However, data is written iff we know of the GlobalId of the IntrospectionType::ShardMapping collection; in other cases, data is dropped on the floor. In these cases, the data is later written by Self::initialize_shard_mapping.

Panics
  • If self.state.collections does not have an entry for global_id.
  • If IntrospectionType::ShardMapping’s GlobalId is not registered as a managed collection.
Formats the value using the given formatter. Read more

Drops the read capability for the sinks and allows their resources to be reclaimed.

Marks the end of any initialization commands. Read more
Acquire an immutable reference to the collection state, should it exist.
Acquire a mutable reference to the collection state, should it exist.
Create the sources described in the individual CreateSourceCommand commands. Read more
Acquire an immutable reference to the export state, should it exist.
Acquire a mutable reference to the export state, should it exist.
Notify the storage controller to prepare for an export to be created
Cancel the pending export
Create the sinks described by the ExportDescription.
Drops the read capability for the sources and allows their resources to be reclaimed.
Drops the read capability for the sources and allows their resources to be reclaimed. Read more
Drops the read capability for the sinks and allows their resources to be reclaimed. Read more
Append updates into the local input named id and advance its upper to upper. Read more
Returns the snapshot of the contents of the local input named id at as_of.
Assigns a read policy to specific identifiers. Read more
Ingests write frontier updates for collections that this controller maintains and potentially generates updates to read capabilities, which are passed on to StorageController::update_read_capabilities. Read more
Applies updates and sends any appropriate compaction command.
Waits until the controller is ready to process a response. Read more
Processes the work queued by StorageController::ready. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Attaches the current Context to this type, returning a WithContext wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Wrap the input message T in a tonic::Request
The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more