netflux
Version:
Peer to peer isomorphic transport API based on WebRTC and WebSocket. Allows to create/join full mesh network
34 lines (33 loc) • 1.19 kB
TypeScript
import { Channel } from '../../Channel';
import { fullMesh as proto } from '../../proto/index';
import { InWcMsg, WebChannel } from '../../WebChannel';
import { ITopology, Topology } from './Topology';
export declare class FullMesh extends Topology<proto.IMessage, proto.Message> implements ITopology {
static readonly SERVICE_ID: number;
private adjacentMembers;
private distantMembers;
private antecedentId;
private heartbeatInterval;
private delayedMembers;
private delayedMembersTimers;
private membersCheckInterval;
private heartbeatMsg;
private adjacentBots;
constructor(wc: WebChannel);
send(msg: InWcMsg): void;
sendTo(msg: InWcMsg): void;
forward(msg: InWcMsg): void;
leave(): void;
onChannelClose(channel: Channel): void;
readonly neighbors: Channel[];
private clean;
private handleServiceMessage;
private connectToMembers;
private notifyDistantMembers;
private startMembersCheckIntervals;
private startHeartbeatInterval;
private sendToDistantPeer;
private findRoutedChannel;
private createOrUpdateDistantMember;
private updateAntecedentId;
}