Class: shaka.offline.indexeddb.BaseStorageCell

Constructor

new BaseStorageCell(connection, segmentStore, manifestStore)

Parameters:
Name Type Description
connection IDBDatabase
segmentStore string
manifestStore string
Implements:
Source:

Members

manifestStore_ :string

Type:
  • string
Source:

segmentStore_ :string

Type:
  • string
Source:

Methods

add(storeName, valuesnon-null) → {Promise.<!Array.<number>>}

Parameters:
Name Type Description
storeName string
values Array.<T>
Source:
Returns:
Type
Promise.<!Array.<number>>

addManifests(manifestsnon-null) → {Promise.<!Array.<number>>}

Add a group of manifests. Will return a promise that resolves with a list of keys for each manifest. If one manifest fails to be added, all manifests should fail to be added.
Parameters:
Name Type Description
manifests Array.<shaka.extern.ManifestDB>
Implements:
Source:
Returns:
keys
Type
Promise.<!Array.<number>>

addSegments(segmentsnon-null) → {Promise.<!Array.<number>>}

Add a group of segments. Will return a promise that resolves with a list of keys for each segment. If one segment fails to be added, all segments should fail to be added.
Parameters:
Name Type Description
segments Array.<shaka.extern.SegmentDataDB>
Implements:
Source:
Returns:
Type
Promise.<!Array.<number>>

convertManifest(old) → {Promise.<shaka.extern.ManifestDB>}

Parameters:
Name Type Description
old ?
Source:
Returns:
Type
Promise.<shaka.extern.ManifestDB>

convertSegmentData(old) → {shaka.extern.SegmentDataDB}

Parameters:
Name Type Description
old ?
Source:
Returns:
Type
shaka.extern.SegmentDataDB

destroy() → {Promise}

Free all resources used by this cell. This should not affect the stored content.
Implements:
Source:
Returns:
Type
Promise

get_(storeName, keysnon-null) → {Promise.<!Array.<T>>}

Parameters:
Name Type Description
storeName string
keys Array.<number>
Source:
Returns:
Type
Promise.<!Array.<T>>

getAllManifests() → {Promise.<!Map.<number, shaka.extern.ManifestDB>>}

Get all manifests stored in this cell. Since manifests are small compared to the asset they describe, it is assumed that it is feasible to have them all in main memory at one time.
Implements:
Source:
Returns:
Type
Promise.<!Map.<number, shaka.extern.ManifestDB>>

getManifests(keysnon-null) → {Promise.<!Array.<shaka.extern.ManifestDB>>}

Get a group of manifests using their keys to identify them. If any key is not found, the promise chain will be rejected.
Parameters:
Name Type Description
keys Array.<number>
Implements:
Source:
Returns:
Type
Promise.<!Array.<shaka.extern.ManifestDB>>

getSegments(keysnon-null) → {Promise.<!Array.<shaka.extern.SegmentDataDB>>}

Get a group of segments using their keys to identify them. If any key is not found, the promise chain will be rejected.
Parameters:
Name Type Description
keys Array.<number>
Implements:
Source:
Returns:
Type
Promise.<!Array.<shaka.extern.SegmentDataDB>>

hasFixedKeySpace() → {boolean}

Check if the cell can support new keys. If a cell has a fixed key space, then all add-operations will fail as no new keys can be added. All remove-operations and update-operations should still work.
Implements:
Source:
Returns:
Type
boolean

rejectAdd(storeName) → {Promise}

Parameters:
Name Type Description
storeName string
Source:
Returns:
Type
Promise

rejectUpdate(storeName) → {Promise}

Parameters:
Name Type Description
storeName string
Source:
Returns:
Type
Promise

remove_(storeName, keysnon-null, onRemove) → {Promise}

Parameters:
Name Type Description
storeName string
keys Array.<number>
onRemove function(number)
Source:
Returns:
Type
Promise

removeManifests(keysnon-null, onRemove) → {Promise}

Remove a group of manifests using their keys to identify them. If a key is not found, then that removal should be considered successful.
Parameters:
Name Type Description
keys Array.<number>
onRemove function A callback for when a manifest is removed from the cell. The key of the manifest will be passed to the callback.
Implements:
Source:
Returns:
Type
Promise

removeSegments(keysnon-null, onRemove) → {Promise}

Remove a group of segments using their keys to identify them. If a key is not found, then that removal should be considered successful.
Parameters:
Name Type Description
keys Array.<number>
onRemove function A callback for when a segment is removed from the cell. The key of the segment will be passed to the callback.
Implements:
Source:
Returns:
Type
Promise

updateManifest(key, manifestnon-null) → {Promise}

Updates the given manifest, stored at the given key.
Parameters:
Name Type Description
key number
manifest shaka.extern.ManifestDB
Implements:
Source:
Returns:
Type
Promise

updateManifestExpiration(key, expiration) → {Promise}

Replace the expiration time of the manifest stored under |key| with |newExpiration|. If no manifest is found under |key| then this should act as a no-op.
Parameters:
Name Type Description
key number
expiration number
Implements:
Source:
Returns:
Type
Promise

updateManifestImplementation(key, manifestnon-null) → {Promise}

Parameters:
Name Type Description
key number
manifest shaka.extern.ManifestDB
Source:
Returns:
Type
Promise