@100mslive/hms-video-store
Version:
@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow
37 lines (36 loc) • 1.94 kB
TypeScript
import { TransportState } from './models/TransportState';
import { HMSException } from '../error/HMSException';
import { HMSTrack } from '../media/tracks';
export default interface ITransportObserver {
/**
* Passes all the messages received from
* 1. Signalling Server (JsonRPC/gRPC)
* 2. Data Channel - at the moment only data-channel with label='ion-sfu'
* is created which send active-speaker events
*
* Each [message] has at most three fields:
* 1. id: [String] - (Optional) A uuid-v4 used to match the response with the request that it is replying to.
* This member may be omitted if no response should be returned.
* 2. method: [String] - (Optional) A String with the name of the method to be invoked.
* Method names that begin with "rpc." are reserved for rpc-internal methods.
* 3. params: [JsonElement] - (Mandatory) A [JsonObject] or [JsonArray] of values to be
* passed as parameters to the defined method. This member may be omitted
*
* It is ensured that either one of `id` or `method` will always be present.
*
* In case of a response, `id` field will always be present along with below extra fields:
* 1. result: [String] - The data returned by the invoked method.
* This element is formatted as a JSON-stat object. If an error occurred while invoking the
* method, this member must not exist.
* 2. error: [String] - An error object if there was an error invoking the method,
* otherwise this member must not exist. The object must contain members
* 2.1 code: [Int]
* 2.2 message: [String]
*/
onNotification(message: any): void;
onConnected(): void;
onTrackAdd(track: HMSTrack): void;
onTrackRemove(track: HMSTrack): void;
onFailure(exception: HMSException): void;
onStateChange(state: TransportState, error?: HMSException): Promise<void>;
}