Interface IServerTransport

Interface for server-side transports

interface IServerTransport {
    state: TransportState;
    isConnected: boolean;
    send(message): Promise<void>;
    close(reason?): Promise<void>;
    on<K>(event, listener): void;
    off<K>(event, listener): void;
    once<K>(event, listener): void;
    clients: ReadonlyMap<string, IClientConnection>;
    listen(): Promise<void>;
    onMessage(handler): void;
    onClientConnect(handler): void;
    onClientDisconnect(handler): void;
    sendTo(clientId, message): Promise<void>;
    broadcast(message): Promise<void>;
}

Hierarchy (view full)

Implemented by

Properties

Current transport state

isConnected: boolean

Whether the transport is currently connected

clients: ReadonlyMap<string, IClientConnection>

Currently connected clients

Methods

  • Close the transport connection

    Parameters

    • Optional reason: string

      Optional reason for closing

    Returns Promise<void>

  • Register an event listener

    Type Parameters

    Parameters

    • event: K
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: unknown[]

          Returns void

    Returns void

  • Remove an event listener

    Type Parameters

    Parameters

    • event: K
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: unknown[]

          Returns void

    Returns void

  • Register a one-time event listener

    Type Parameters

    Parameters

    • event: K
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: unknown[]

          Returns void

    Returns void

  • Register handler for client disconnections

    Parameters

    • handler: ((client, reason?) => void)
        • (client, reason?): void
        • Parameters

          Returns void

    Returns void