UNPKG

netflux

Version:

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

41 lines (40 loc) 1.18 kB
import { Observable } from 'rxjs'; import { IStream } from './misc/util'; import { IMessage, Message } from './proto/index'; import { WebChannel } from './WebChannel'; export declare type InSigMsg = Message; export declare type OutSigMsg = IMessage; export declare enum SignalingState { CONNECTING = 0, OPEN = 1, CHECKING = 2, CHECKED = 4, CLOSED = 3 } export declare class Signaling implements IStream<OutSigMsg, InSigMsg> { readonly STREAM_ID: number; url: string; state: SignalingState; connected: boolean; private wc; private stateSubject; private ws; private connectionTimeout; private streamSubject; private heartbeatInterval; private missedHeartbeat; constructor(wc: WebChannel, url: string); readonly messageFromStream: Observable<InSigMsg>; sendOverStream(msg: OutSigMsg): void; readonly onState: Observable<SignalingState>; check(): void; connect(key: string): void; close(): void; private clean; private handleMessage; private setState; private startHeartbeat; private send; private heartbeat; private fullUrl; }