UNPKG

@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
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>; }