Storage mechanisms are one of two exported storage APIs. Storage mechanisms
are groups of storage cells (shaka.extern.StorageCell). Storage mechanisms
are responsible for managing the life cycle of resources shared between
storage cells in the same block.
For example, a storage mechanism may manage a single database connection
while each cell would manage different tables in the database via the same
connection.
- Implementations:
- Source:
Methods
destroy() → (non-null) {Promise}
Free all resources used by the storage mechanism and its cells. This should
not affect the stored content.
- Source:
Returns:
- Type
- Promise
erase() → (non-null) {Promise}
Erase all content from storage and leave storage in an empty state. Erase may
be called with or without |init|. This allows for storage to be wiped in
case of a version mismatch.
After calling |erase|, the mechanism will be in an initialized state.
- Source:
Returns:
- Type
- Promise
getCells() → (non-null) {Map.<string, !shaka.extern.StorageCell>}
Get a map of all the cells managed by the storage mechanism. Editing the map
should have no effect on the storage mechanism. The map key is the cell's
address in the mechanism and should be consistent between calls to
|getCells|.
- Source:
Returns:
- Type
- Map.<string, !shaka.extern.StorageCell>
getEmeSessionCell() → (non-null) {shaka.extern.EmeSessionStorageCell}
Get the current EME session storage cell.
- Source:
Returns:
init() → (non-null) {Promise}
Initialize the storage mechanism for first use. This should only be called
once. Calling |init| multiple times has an undefined behaviour.
- Source:
Returns:
- Type
- Promise