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