UNPKG

@mothepro/fancy-p2p

Version:

A quick and efficient way to form p2p groups in the browser

42 lines (41 loc) 1.4 kB
import type { Name } from '@mothepro/signaling-lobby'; import HashableSet from './HashableSet.js'; /** * Helper to gets a list of `ClientID`s from a buffer at an offset. * * Unfortunately, Buffer -> UInt16Array is not WAI. * Also, do not rely on the underlying ArrayBuffer `data.buffer`, socket may modify it... */ export declare function parseClientIds(offset: number, data: DataView): HashableSet<number>; /** Helper to get name that server assigns. */ export declare function parseYourName(data: DataView): Name; /** Helper to get status of a Client joining. */ export declare function parseClientJoin(data: DataView): { id: number; name: string; }; /** Helper to get status of a Client leaving. */ export declare function parseClientLeave(data: DataView): number; /** Helper to get status of a Client leaving. */ export declare function parseGroupChange(data: DataView): { approve: boolean; actor: number; members: HashableSet<number>; }; /** Helper to get status of a Group finalization. */ export declare function parseGroupFinalize(data: DataView): { code: number; cmp: number; members: HashableSet<number>; }; export declare function parseSdp(data: DataView): { from: number; sdp: { type: RTCSdpType; sdp: string; }; }; export declare function parseFallback(data: DataView): { from: number; data: ArrayBuffer; };