| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 | /// <reference types="node" />import { EventEmitter } from "events";export declare type SocketId = string;export declare type Room = string;export interface BroadcastFlags {    volatile?: boolean;    compress?: boolean;    local?: boolean;    broadcast?: boolean;    binary?: boolean;    timeout?: number;}export interface BroadcastOptions {    rooms: Set<Room>;    except?: Set<SocketId>;    flags?: BroadcastFlags;}export declare class Adapter extends EventEmitter {    readonly nsp: any;    rooms: Map<Room, Set<SocketId>>;    sids: Map<SocketId, Set<Room>>;    private readonly encoder;    /**     * In-memory adapter constructor.     *     * @param {Namespace} nsp     */    constructor(nsp: any);    /**     * To be overridden     */    init(): Promise<void> | void;    /**     * To be overridden     */    close(): Promise<void> | void;    /**     * Returns the number of Socket.IO servers in the cluster     *     * @public     */    serverCount(): Promise<number>;    /**     * Adds a socket to a list of room.     *     * @param {SocketId}  id      the socket id     * @param {Set<Room>} rooms   a set of rooms     * @public     */    addAll(id: SocketId, rooms: Set<Room>): Promise<void> | void;    /**     * Removes a socket from a room.     *     * @param {SocketId} id     the socket id     * @param {Room}     room   the room name     */    del(id: SocketId, room: Room): Promise<void> | void;    private _del;    /**     * Removes a socket from all rooms it's joined.     *     * @param {SocketId} id   the socket id     */    delAll(id: SocketId): void;    /**     * Broadcasts a packet.     *     * Options:     *  - `flags` {Object} flags for this packet     *  - `except` {Array} sids that should be excluded     *  - `rooms` {Array} list of rooms to broadcast to     *     * @param {Object} packet   the packet object     * @param {Object} opts     the options     * @public     */    broadcast(packet: any, opts: BroadcastOptions): void;    /**     * Broadcasts a packet and expects multiple acknowledgements.     *     * Options:     *  - `flags` {Object} flags for this packet     *  - `except` {Array} sids that should be excluded     *  - `rooms` {Array} list of rooms to broadcast to     *     * @param {Object} packet   the packet object     * @param {Object} opts     the options     * @param clientCountCallback - the number of clients that received the packet     * @param ack                 - the callback that will be called for each client response     *     * @public     */    broadcastWithAck(packet: any, opts: BroadcastOptions, clientCountCallback: (clientCount: number) => void, ack: (...args: any[]) => void): void;    /**     * Gets a list of sockets by sid.     *     * @param {Set<Room>} rooms   the explicit set of rooms to check.     */    sockets(rooms: Set<Room>): Promise<Set<SocketId>>;    /**     * Gets the list of rooms a given socket has joined.     *     * @param {SocketId} id   the socket id     */    socketRooms(id: SocketId): Set<Room> | undefined;    /**     * Returns the matching socket instances     *     * @param opts - the filters to apply     */    fetchSockets(opts: BroadcastOptions): Promise<any[]>;    /**     * Makes the matching socket instances join the specified rooms     *     * @param opts - the filters to apply     * @param rooms - the rooms to join     */    addSockets(opts: BroadcastOptions, rooms: Room[]): void;    /**     * Makes the matching socket instances leave the specified rooms     *     * @param opts - the filters to apply     * @param rooms - the rooms to leave     */    delSockets(opts: BroadcastOptions, rooms: Room[]): void;    /**     * Makes the matching socket instances disconnect     *     * @param opts - the filters to apply     * @param close - whether to close the underlying connection     */    disconnectSockets(opts: BroadcastOptions, close: boolean): void;    private apply;    private computeExceptSids;    /**     * Send a packet to the other Socket.IO servers in the cluster     * @param packet - an array of arguments, which may include an acknowledgement callback at the end     */    serverSideEmit(packet: any[]): void;}
 |