Creates an empty storage controller.
Adds a storage provider to the stack.
Provider to register.
Nothing.
Notifies providers that a batched write sequence is starting.
A promise that resolves after all providers have been notified.
Destroys all registered providers and clears the provider stack.
A promise that resolves after teardown finishes.
Notifies providers that a batched write sequence has finished.
A promise that resolves after all providers have been notified.
Retrieves a media payload by hash.
Media hash to look up.
A promise that resolves to the stored media payload, or null if no provider has it.
Returns the combined set of known media hashes from all registered providers.
A promise that resolves to the deduplicated media hash list.
Returns the registered storage providers, optionally filtered by provider type.
Optionaltype: StorageProviderTypeEnumOptional provider type mask to match.
The matching providers.
Checks whether any active provider contains the requested media hash.
Media hash to check.
A promise that resolves to true if the media exists in at least one provider.
Initializes each registered provider for the supplied project.
Project ID used to scope persisted data.
A promise that resolves after all providers have been initialized.
Removes a media payload from all active providers.
Media hash to remove.
A promise that resolves after the removal requests have been issued.
Removes a storage provider from the stack.
Provider to remove.
Nothing.
Stores a media payload using the provider stack.
Media payload to persist.
A promise that resolves to true if at least one provider stored the media successfully.
Synchronizes all active providers against a master provider.
Provider treated as the source of truth.
A promise that resolves to true if any provider reported changes during sync.
Coordinates one or more storage providers and applies them as a prioritized persistence stack.