UNPKG

netflux

Version:

Peer to peer isomorphic transport API based on WebRTC and WebSocket. Allows to create/join full mesh network

37 lines (36 loc) 1.22 kB
import { RTCDataChannel } from './misc/env'; import { IMessage } from './proto/index'; import { WebChannel } from './WebChannel'; export interface IChannelInitData { members: number[]; } export declare const MAXIMUM_MISSED_HEARTBEAT = 3; export declare class Channel { static WITH_INTERNAL: number; static WITH_JOINING: number; static WITH_MEMBER: number; static remoteType(type: number): number; id: number; send: (data: Uint8Array) => void; type: number; missedHeartbeat: number; init: Promise<void>; initData: IChannelInitData | undefined; private wsOrDc; private pc; private wc; private heartbeatMsg; private resolveInit; constructor(wc: WebChannel, wsOrDc: WebSocket | RTCDataChannel, type: number, id: number, pc?: RTCPeerConnection); readonly url: string; encodeAndSend({ senderId, recipientId, serviceId, content }?: IMessage): void; close(): void; sendHeartbeat(): void; private sendInBrowser; private sendInNodeOverWebSocket; private sendInNodeOverDataChannel; private handleInitMessage; private initHandlers; private createHeartbeatMsg; private sendInitPing; }