UNPKG

foxconn-yumeeting-sdk-js

Version:

A js sdk for ion yumeeting

75 lines (65 loc) 2.6 kB
// package: sfu // file: sfu.proto import * as sfu_pb from "./sfu_pb"; import {grpc} from "@improbable-eng/grpc-web"; type SFUSignal = { readonly methodName: string; readonly service: typeof SFU; readonly requestStream: true; readonly responseStream: true; readonly requestType: typeof sfu_pb.SignalRequest; readonly responseType: typeof sfu_pb.SignalReply; }; type SFUGetRemoteSignal = { readonly methodName: string; readonly service: typeof SFU; readonly requestStream: false; readonly responseStream: false; readonly requestType: typeof sfu_pb.OfferSignal; readonly responseType: typeof sfu_pb.AnswerSignal; }; export class SFU { static readonly serviceName: string; static readonly Signal: SFUSignal; static readonly GetRemoteSignal: SFUGetRemoteSignal; } export type ServiceError = { message: string, code: number; metadata: grpc.Metadata } export type Status = { details: string, code: number; metadata: grpc.Metadata } interface UnaryResponse { cancel(): void; } interface ResponseStream<T> { cancel(): void; on(type: 'data', handler: (message: T) => void): ResponseStream<T>; on(type: 'end', handler: (status?: Status) => void): ResponseStream<T>; on(type: 'status', handler: (status: Status) => void): ResponseStream<T>; } interface RequestStream<T> { write(message: T): RequestStream<T>; end(): void; cancel(): void; on(type: 'end', handler: (status?: Status) => void): RequestStream<T>; on(type: 'status', handler: (status: Status) => void): RequestStream<T>; } interface BidirectionalStream<ReqT, ResT> { write(message: ReqT): BidirectionalStream<ReqT, ResT>; end(): void; cancel(): void; on(type: 'data', handler: (message: ResT) => void): BidirectionalStream<ReqT, ResT>; on(type: 'end', handler: (status?: Status) => void): BidirectionalStream<ReqT, ResT>; on(type: 'status', handler: (status: Status) => void): BidirectionalStream<ReqT, ResT>; } export class SFUClient { readonly serviceHost: string; constructor(serviceHost: string, options?: grpc.RpcOptions); signal(metadata?: grpc.Metadata): BidirectionalStream<sfu_pb.SignalRequest, sfu_pb.SignalReply>; getRemoteSignal( requestMessage: sfu_pb.OfferSignal, metadata: grpc.Metadata, callback: (error: ServiceError|null, responseMessage: sfu_pb.AnswerSignal|null) => void ): UnaryResponse; getRemoteSignal( requestMessage: sfu_pb.OfferSignal, callback: (error: ServiceError|null, responseMessage: sfu_pb.AnswerSignal|null) => void ): UnaryResponse; }