UNPKG

@solid/community-server

Version:

Community Solid Server: an open and modular implementation of the Solid specifications

26 lines (25 loc) 1.28 kB
import type { WebSocket } from 'ws'; import type { SetMultiMap } from '../../../util/map/SetMultiMap'; import type { NotificationChannelStorage } from '../NotificationChannelStorage'; import type { WebSocket2023HandlerInput } from './WebSocket2023Handler'; import { WebSocket2023Handler } from './WebSocket2023Handler'; /** * Keeps track of the WebSockets that were opened for a WebSocketChannel2023 channel. * The WebSockets are stored in the map using the identifier of the matching channel. * * `cleanupTimer` defines in minutes how often the stored WebSockets are closed * if their corresponding channel has expired. * Defaults to 60 minutes. * Open WebSockets will not receive notifications if their channel expired. */ export declare class WebSocket2023Storer extends WebSocket2023Handler { protected readonly logger: import("global-logger-factory").Logger<unknown>; private readonly storage; private readonly socketMap; constructor(storage: NotificationChannelStorage, socketMap: SetMultiMap<string, WebSocket>, cleanupTimer?: number); handle({ webSocket, channel }: WebSocket2023HandlerInput): Promise<void>; /** * Close all WebSockets that are attached to a channel that no longer exists. */ private closeExpiredSockets; }