Constructor
new NetworkingEngine(onProgressUpdatedopt, onHeadersReceivedopt, onDownloadFailedopt)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
onProgressUpdated |
function |
<optional> |
Called when a progress event is triggered. Passed the duration, in milliseconds, that the request took, and the number of bytes transferred. |
onHeadersReceived |
shaka.net.NetworkingEngine.OnHeadersReceived |
<optional> |
Called when the headers are received for a download. |
onDownloadFailed |
shaka.net.NetworkingEngine.OnDownloadFailed |
<optional> |
Called when a download fails, for any reason. |
- Implements:
- Source:
Classes
Members
PluginPriority :number
Priority level for network scheme plugins.
If multiple plugins are provided for the same scheme, only the
highest-priority one is used.
Type:
- number
Properties:
Name | Value | Type | Description |
---|---|---|---|
FALLBACK |
1 | number | |
PREFERRED |
2 | number | |
APPLICATION |
3 | number |
- Source:
RequestType :number
Request types. Allows a filter to decide which requests to read/alter.
Type:
- number
Properties:
Name | Value | Type | Description |
---|---|---|---|
MANIFEST |
0 | number | |
SEGMENT |
1 | number | |
LICENSE |
2 | number | |
APP |
3 | number | |
TIMING |
4 | number | |
SERVER_CERTIFICATE |
5 | number |
- Source:
schemes_ :Object.<string, shaka.net.NetworkingEngine.SchemeObject>
Contains the scheme plugins.
Type:
- Object.<string, shaka.net.NetworkingEngine.SchemeObject>
- Source:
onProgressUpdated_ :?function(number, number)
Type:
- ?function(number, number)
- Source:
Methods
defaultRetryParameters() → {shaka.extern.RetryParameters}
Gets a copy of the default retry parameters.
- Source:
Returns:
NOTE: The implementation moved to shaka.net.Backoff to avoid a circular
dependency between the two classes.
getLocationProtocol_() → {string}
This is here only for testability. We can't mock location in our tests on
all browsers, so instead we mock this.
- Source:
Returns:
The value of location.protocol.
- Type
- string
makeRequest(urisnon-null, retryParams, streamDataCallbacknullable) → {shaka.extern.Request}
Makes a simple network request for the given URIs.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
uris |
Array.<string> | |||
retryParams |
shaka.extern.RetryParameters | |||
streamDataCallback |
?function(BufferSource):!Promise= |
<nullable> |
null |
- Source:
Returns:
- Type
- shaka.extern.Request
registerScheme(scheme, plugin, priorityopt, progressSupportopt)
Registers a scheme plugin. This plugin will handle all requests with the
given scheme. If a plugin with the same scheme already exists, it is
replaced, unless the existing plugin is of higher priority.
If no priority is provided, this defaults to the highest priority of
APPLICATION.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
scheme |
string | |||
plugin |
shaka.extern.SchemePlugin | |||
priority |
number |
<optional> |
||
progressSupport |
boolean |
<optional> |
false |
- Source:
unregisterScheme(scheme)
Removes a scheme plugin.
Parameters:
Name | Type | Description |
---|---|---|
scheme |
string |
- Source:
clearAllResponseFilters()
Clears all response filters.
- Source:
destroy() → {Promise}
Request that this object be destroyed, releasing all resources and shutting
down all operations. Returns a Promise which is resolved when destruction
is complete. This Promise should never be rejected.
- Implements:
- Source:
Returns:
- Type
- Promise
filterRequest_(type, request) → {shaka.util.AbortableOperation.<undefined>}
Parameters:
Name | Type | Description |
---|---|---|
type |
shaka.net.NetworkingEngine.RequestType | |
request |
shaka.extern.Request |
- Source:
Returns:
- Type
- shaka.util.AbortableOperation.<undefined>
filterResponse_(type, responseAndGotProgress) → {shaka.extern.IAbortableOperation.<shaka.net.NetworkingEngine.ResponseAndGotProgress>}
Parameters:
Name | Type | Description |
---|---|---|
type |
shaka.net.NetworkingEngine.RequestType | |
responseAndGotProgress |
shaka.net.NetworkingEngine.ResponseAndGotProgress |
- Source:
Returns:
makeRequestWithRetry_(type, request, numBytesRemainingObj) → {shaka.extern.IAbortableOperation.<shaka.net.NetworkingEngine.ResponseAndGotProgress>}
Parameters:
Name | Type | Description |
---|---|---|
type |
shaka.net.NetworkingEngine.RequestType | |
request |
shaka.extern.Request | |
numBytesRemainingObj |
shaka.net.NetworkingEngine.NumBytesRemainingClass |
- Source:
Returns:
registerRequestFilter(filter)
Registers a new request filter. All filters are applied in the order they
are registered.
Parameters:
Name | Type | Description |
---|---|---|
filter |
shaka.extern.RequestFilter |
- Source:
registerResponseFilter(filter)
Registers a new response filter. All filters are applied in the order they
are registered.
Parameters:
Name | Type | Description |
---|---|---|
filter |
shaka.extern.ResponseFilter |
- Source:
request(type, request) → {shaka.net.NetworkingEngine.PendingRequest}
Makes a network request and returns the resulting data.
Parameters:
Name | Type | Description |
---|---|---|
type |
shaka.net.NetworkingEngine.RequestType | |
request |
shaka.extern.Request |
- Source:
Returns:
send_(type, request, backoffnon-null, index, lastErrornullable, numBytesRemainingObj) → {shaka.extern.IAbortableOperation.<shaka.net.NetworkingEngine.ResponseAndGotProgress>}
Sends the given request to the correct plugin and retry using Backoff.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
type |
shaka.net.NetworkingEngine.RequestType | ||
request |
shaka.extern.Request | ||
backoff |
shaka.net.Backoff | ||
index |
number | ||
lastError |
shaka.util.Error |
<nullable> |
|
numBytesRemainingObj |
shaka.net.NetworkingEngine.NumBytesRemainingClass |
- Source:
Returns:
setForceHTTPS(forceHTTPS)
Parameters:
Name | Type | Description |
---|---|---|
forceHTTPS |
boolean |
- Source:
unregisterRequestFilter(filter)
Removes a request filter.
Parameters:
Name | Type | Description |
---|---|---|
filter |
shaka.extern.RequestFilter |
- Source:
unregisterResponseFilter(filter)
Removes a response filter.
Parameters:
Name | Type | Description |
---|---|---|
filter |
shaka.extern.ResponseFilter |
- Source:
Type Definitions
OnDownloadFailed
A callback function that notifies the player when a download fails, for any
reason (e.g. even if the download was aborted).
Type:
- function( !shaka.extern.Request, ?shaka.util.Error, number, boolean)
- Source:
OnHeadersReceived
A callback function that passes the shaka.extern.HeadersReceived along to
the player, plus some extra data.
Type:
- function( !Object.<string, string>, !shaka.extern.Request, !shaka.net.NetworkingEngine.RequestType)
- Source:
ResponseAndGotProgress
Defines a response wrapper object, including the response object and whether
progress event is fired by the scheme plugin.
Type:
- {response: shaka.extern.Response, gotProgress: boolean}
Properties:
Name | Type | Description |
---|---|---|
response |
shaka.extern.Response | |
gotProgress |
boolean |
- Source:
SchemeObject
Type:
- {plugin: shaka.extern.SchemePlugin, priority: number, progressSupport: boolean}
Properties:
Name | Type | Description |
---|---|---|
plugin |
shaka.extern.SchemePlugin | The associated plugin. |
priority |
number | The plugin's priority. |
progressSupport |
boolean | The plugin's supports progress events |
- Source:
Events
RetryEvent
Fired when the networking engine receives a recoverable error
and retries.
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
type |
string | 'retry' | |
error |
shaka.util.Error |
<nullable> |
The error that caused the retry. If it was a non-Shaka error, this is set to null. |
- Source: