SYMBOL INDEX (470 symbols across 53 files) FILE: src/adapters/adapter-interface.ts type AdapterInterface (line 7) | interface AdapterInterface { FILE: src/adapters/adapter.ts class Adapter (line 12) | class Adapter implements AdapterInterface { method constructor (line 21) | constructor(server: Server) { method init (line 38) | async init(): Promise { method getNamespace (line 45) | getNamespace(appId: string): Namespace { method getNamespaces (line 52) | getNamespaces(): Map { method addSocket (line 59) | async addSocket(appId: string, ws: WebSocket): Promise { method removeSocket (line 66) | async removeSocket(appId: string, wsId: string): Promise { method addToChannel (line 74) | async addToChannel(appId: string, channel: string, ws: WebSocket): Pro... method removeFromChannel (line 82) | async removeFromChannel(appId: string, channel: string|string[], wsId:... method getSockets (line 89) | async getSockets(appId: string, onlyLocal = false): Promise { method removeUser (line 173) | removeUser(ws: WebSocket): Promise { method getUserSockets (line 180) | getUserSockets(appId: string, userId: string|number): Promise { method clearNamespaces (line 194) | clearNamespaces(): Promise { method disconnect (line 201) | disconnect(): Promise { FILE: src/adapters/cluster-adapter.ts class ClusterAdapter (line 5) | class ClusterAdapter extends HorizontalAdapter { method constructor (line 14) | constructor(server: Server) { method init (line 26) | async init(): Promise { method onRequest (line 37) | protected onRequest(msg: any): void { method onResponse (line 48) | protected onResponse(msg: any): void { method onMessage (line 60) | protected onMessage(msg: any): void { method broadcastToChannel (line 79) | protected broadcastToChannel(channel: string, data: string): void { method getNumSub (line 86) | protected getNumSub(): Promise { FILE: src/adapters/horizontal-adapter.ts type RequestType (line 15) | enum RequestType { type RequestExtra (line 28) | interface RequestExtra { type Request (line 38) | interface Request extends RequestExtra { type RequestOptions (line 48) | interface RequestOptions { type RequestBody (line 52) | interface RequestBody extends RequestOptions { type Response (line 58) | interface Response { type PubsubBroadcastedMessage (line 68) | interface PubsubBroadcastedMessage { method sendToResponseChannel (line 241) | protected sendToResponseChannel(data: string): void { method sendToRequestChannel (line 248) | protected sendToRequestChannel(data: string): void { method send (line 255) | send(appId: string, channel: string, data: string, exceptingId: string|n... method sendLocally (line 270) | sendLocally(appId: string, channel: string, data: string, exceptingId: s... method terminateUserConnections (line 277) | terminateUserConnections(appId: string, userId: number|string): void { method terminateLocalUserConnections (line 303) | terminateLocalUserConnections(appId: string, userId: number|string): void { method getSockets (line 310) | async getSockets(appId: string, onlyLocal = false): Promise { method getNamespace (line 33) | getNamespace(appId: string): Namespace { method getNamespaces (line 44) | getNamespaces(): Map { method addSocket (line 51) | async addSocket(appId: string, ws: WebSocket): Promise { method removeSocket (line 58) | async removeSocket(appId: string, wsId: string): Promise { method addToChannel (line 66) | async addToChannel(appId: string, channel: string, ws: WebSocket): Pro... method removeFromChannel (line 76) | async removeFromChannel(appId: string, channel: string|string[], wsId:... method getSockets (line 89) | async getSockets(appId: string, onlyLocal = false): Promise { method removeUser (line 205) | removeUser(ws: WebSocket): Promise { method getUserSockets (line 212) | getUserSockets(appId: string, userId: number|string): Promise { method clearNamespace (line 226) | clearNamespace(namespaceId: string): Promise { method clearNamespaces (line 235) | clearNamespaces(): Promise { FILE: src/adapters/nats-adapter.ts class NatsAdapter (line 7) | class NatsAdapter extends HorizontalAdapter { method constructor (line 31) | constructor(server: Server) { method init (line 50) | async init(): Promise { method onRequest (line 75) | protected onRequest(msg: any): void { method onResponse (line 82) | protected onResponse(msg: any): void { method onMessage (line 90) | protected onMessage(msg: any): void { method broadcastToChannel (line 105) | protected broadcastToChannel(channel: string, data: string): void { method getNumSub (line 112) | protected async getNumSub(): Promise { method disconnect (line 144) | disconnect(): Promise { FILE: src/adapters/redis-adapter.ts class RedisAdapter (line 7) | class RedisAdapter extends HorizontalAdapter { method constructor (line 26) | constructor(server: Server) { method init (line 42) | async init(): Promise { method broadcastToChannel (line 79) | protected broadcastToChannel(channel: string, data: string): void { method processMessage (line 86) | protected processMessage(redisChannel: string, msg: Buffer|string): vo... method onMessage (line 101) | protected onMessage(pattern: string, redisChannel: string, msg: Buffer... method getNumSub (line 129) | protected getNumSub(): Promise { method disconnect (line 175) | disconnect(): Promise { FILE: src/app-managers/app-manager-interface.ts type AppManagerInterface (line 3) | interface AppManagerInterface { FILE: src/app-managers/app-manager.ts class AppManager (line 13) | class AppManager implements AppManagerInterface { method constructor (line 22) | constructor(protected server: Server) { method findById (line 39) | findById(id: string): Promise { method findByKey (line 60) | findByKey(key: string): Promise { method getAppSecret (line 81) | getAppSecret(id: string): Promise { FILE: src/app-managers/array-app-manager.ts class ArrayAppManager (line 6) | class ArrayAppManager extends BaseAppManager { method constructor (line 10) | constructor(protected server: Server) { method findById (line 17) | findById(id: string): Promise { method findByKey (line 36) | findByKey(key: string): Promise { FILE: src/app-managers/base-app-manager.ts class BaseAppManager (line 4) | class BaseAppManager implements AppManagerInterface { method findById (line 8) | findById(id: string): Promise { method findByKey (line 15) | findByKey(key: string): Promise { method getAppSecret (line 22) | getAppSecret(id: string): Promise { FILE: src/app-managers/dynamodb-app-manager.ts class DynamoDbAppManager (line 9) | class DynamoDbAppManager extends BaseAppManager { method constructor (line 18) | constructor(protected server: Server) { method findById (line 31) | findById(id: string): Promise { method findByKey (line 62) | findByKey(key: string): Promise { method unmarshallItem (line 97) | protected unmarshallItem(item: AttributeMap): { [key: string]: any; } { FILE: src/app-managers/mysql-app-manager.ts class MysqlAppManager (line 3) | class MysqlAppManager extends SqlAppManager { method knexClientName (line 7) | protected knexClientName(): string { method knexConnectionDetails (line 16) | protected knexConnectionDetails(): { [key: string]: any; } { method knexVersion (line 26) | protected knexVersion(): string { method supportsPooling (line 34) | protected supportsPooling(): boolean { method appsTableName (line 41) | protected appsTableName(): string { FILE: src/app-managers/postgres-app-manager.ts class PostgresAppManager (line 3) | class PostgresAppManager extends SqlAppManager { method knexClientName (line 7) | protected knexClientName(): string { method knexConnectionDetails (line 14) | protected knexConnectionDetails(): { [key: string]: any; } { method knexVersion (line 24) | protected knexVersion(): string { method supportsPooling (line 32) | protected supportsPooling(): boolean { method appsTableName (line 39) | protected appsTableName(): string { FILE: src/app-managers/sql-app-manager.ts method constructor (line 18) | constructor(protected server: Server) { method findById (line 45) | findById(id: string): Promise { method findByKey (line 62) | findByKey(key: string): Promise { method selectById (line 79) | protected selectById(id: string): Promise { method selectByKey (line 88) | protected selectByKey(key: string): Promise { FILE: src/app.ts type AppInterface (line 8) | interface AppInterface { type WebhookInterface (line 34) | interface WebhookInterface { class App (line 52) | class App implements AppInterface { method constructor (line 183) | constructor(public initialApp: { [key: string]: any; }, protected serv... method toObject (line 214) | toObject(): AppInterface { method toJson (line 240) | toJson(): string { method forWebSocket (line 248) | forWebSocket(): App { method signingTokenFromRequest (line 262) | signingTokenFromRequest(res: HttpResponse): string { method signingToken (line 290) | protected signingToken(method: string, path: string, params: string): ... method extractFromPassedKeys (line 304) | protected extractFromPassedKeys(app: { [key: string]: any; }, paramete... method transformPotentialJsonToArray (line 320) | protected transformPotentialJsonToArray(potentialJson: any): any { FILE: src/cache-managers/cache-manager-interface.ts type CacheManagerInterface (line 3) | interface CacheManagerInterface { FILE: src/cache-managers/cache-manager.ts class CacheManager (line 7) | class CacheManager implements CacheManagerInterface { method constructor (line 16) | constructor(protected server: Server) { method has (line 29) | has(key: string): Promise { method get (line 37) | get(key: string): Promise { method set (line 44) | set(key: string, value: any, ttlSeconds: number): Promise { method disconnect (line 51) | disconnect(): Promise { FILE: src/cache-managers/memory-cache-manager.ts type Memory (line 4) | interface Memory { class MemoryCacheManager (line 12) | class MemoryCacheManager implements CacheManagerInterface { method constructor (line 23) | constructor(protected server: Server) { method has (line 38) | has(key: string): Promise { method get (line 46) | get(key: string): Promise { method set (line 53) | set(key: string, value: any, ttlSeconds = -1): Promise { method disconnect (line 66) | disconnect(): Promise { FILE: src/cache-managers/redis-cache-manager.ts class RedisCacheManager (line 5) | class RedisCacheManager implements CacheManagerInterface { method constructor (line 14) | constructor(protected server: Server) { method has (line 31) | has(key: string): Promise { method get (line 41) | get(key: string): Promise { method set (line 48) | set(key: string, value: any, ttlSeconds = -1): Promise { method disconnect (line 57) | disconnect(): Promise { FILE: src/channels/encrypted-private-channel-manager.ts class EncryptedPrivateChannelManager (line 3) | class EncryptedPrivateChannelManager extends PrivateChannelManager { FILE: src/channels/presence-channel-manager.ts type PresenceMemberInfo (line 8) | interface PresenceMemberInfo { type PresenceMember (line 12) | interface PresenceMember { class PresenceChannelManager (line 18) | class PresenceChannelManager extends PrivateChannelManager { method join (line 22) | join(ws: WebSocket, channel: string, message?: PusherMessage): Promise... method leave (line 76) | leave(ws: WebSocket, channel: string): Promise { method getDataToSignForSignature (line 90) | protected getDataToSignForSignature(socketId: string, message: PusherM... FILE: src/channels/private-channel-manager.ts class PrivateChannelManager (line 8) | class PrivateChannelManager extends PublicChannelManager { method join (line 12) | join(ws: WebSocket, channel: string, message?: PusherMessage): Promise... method signatureIsValid (line 42) | protected signatureIsValid(app: App, socketId: string, message: Pusher... method getExpectedSignature (line 51) | protected getExpectedSignature(app: App, socketId: string, message: Pu... method getDataToSignForSignature (line 64) | protected getDataToSignForSignature(socketId: string, message: PusherM... FILE: src/channels/public-channel-manager.ts type JoinResponse (line 7) | interface JoinResponse { type LeaveResponse (line 18) | interface LeaveResponse { class PublicChannelManager (line 24) | class PublicChannelManager { method constructor (line 25) | constructor(protected server: Server) { method join (line 32) | join(ws: WebSocket, channel: string, message?: PusherMessage): Promise... method leave (line 63) | leave(ws: WebSocket, channel: string): Promise { FILE: src/cli/cli.ts class Cli (line 5) | class Cli { method constructor (line 137) | constructor(protected pm2 = false) { method overwriteOptionsFromEnv (line 145) | protected overwriteOptionsFromEnv(): void { method overwriteOptionsFromConfig (line 178) | protected overwriteOptionsFromConfig(path?: string): void { method start (line 202) | static async start(cliArgs: any): Promise { method startWithPm2 (line 209) | static async startWithPm2(cliArgs: any): Promise { method start (line 216) | async start(cliArgs: any): Promise { FILE: src/http-handler.ts type ChannelResponse (line 11) | interface ChannelResponse { type MessageCheckError (line 17) | interface MessageCheckError { class HttpHandler (line 22) | class HttpHandler { method constructor (line 26) | constructor(protected server: Server) { method ready (line 30) | ready(res: HttpResponse) { method acceptTraffic (line 43) | acceptTraffic(res: HttpResponse) { method healthCheck (line 78) | healthCheck(res: HttpResponse) { method usage (line 87) | usage(res: HttpResponse) { method metrics (line 115) | metrics(res: HttpResponse) { method channels (line 142) | channels(res: HttpResponse) { method channel (line 184) | channel(res: HttpResponse) { method channelUsers (line 238) | channelUsers(res: HttpResponse) { method events (line 266) | events(res: HttpResponse) { method batchEvents (line 289) | batchEvents(res: HttpResponse) { method terminateUserConnections (line 318) | terminateUserConnections(res: HttpResponse) { method checkMessageToBroadcast (line 330) | protected checkMessageToBroadcast(message: PusherApiMessage, app: App)... method broadcastMessage (line 377) | protected broadcastMessage(message: PusherApiMessage, appId: string): ... method notFound (line 397) | notFound(res: HttpResponse) { method badResponse (line 413) | protected badResponse(res: HttpResponse, error: string) { method notFoundResponse (line 417) | protected notFoundResponse(res: HttpResponse, error: string) { method unauthorizedResponse (line 421) | protected unauthorizedResponse(res: HttpResponse, error: string) { method entityTooLargeResponse (line 425) | protected entityTooLargeResponse(res: HttpResponse, error: string) { method tooManyRequestsResponse (line 429) | protected tooManyRequestsResponse(res: HttpResponse) { method serverErrorResponse (line 433) | protected serverErrorResponse(res: HttpResponse, error: string) { method jsonBodyMiddleware (line 437) | protected jsonBodyMiddleware(res: HttpResponse, next: CallableFunction... method corkMiddleware (line 454) | protected corkMiddleware(res: HttpResponse, next: CallableFunction): a... method corsMiddleware (line 458) | protected corsMiddleware(res: HttpResponse, next: CallableFunction): a... method appMiddleware (line 466) | protected appMiddleware(res: HttpResponse, next: CallableFunction): any { method authMiddleware (line 478) | protected authMiddleware(res: HttpResponse, next: CallableFunction): a... method readRateLimitingMiddleware (line 488) | protected readRateLimitingMiddleware(res: HttpResponse, next: Callable... method broadcastEventRateLimitingMiddleware (line 502) | protected broadcastEventRateLimitingMiddleware(res: HttpResponse, next... method broadcastBatchEventsRateLimitingMiddleware (line 518) | protected broadcastBatchEventsRateLimitingMiddleware(res: HttpResponse... method attachMiddleware (line 538) | protected attachMiddleware(res: HttpResponse, functions: any[]): Promi... method readJson (line 571) | protected readJson(res: HttpResponse, cb: CallableFunction, err: any) { method signatureIsValid (line 631) | protected signatureIsValid(res: HttpResponse): Promise { method sendJson (line 637) | protected sendJson(res: HttpResponse, data: any, status: RecognizedStr... method send (line 648) | protected send(res: HttpResponse, data: RecognizedString, status: Reco... method getSignedToken (line 660) | protected getSignedToken(res: HttpResponse): Promise { FILE: src/job.ts class Job (line 3) | class Job { method constructor (line 7) | constructor(public id: string = uuidv4(), public data: { [key: string]... FILE: src/log.ts class Log (line 3) | class Log { method infoTitle (line 4) | static infoTitle(message: any): void { method successTitle (line 8) | static successTitle(message: any): void { method errorTitle (line 12) | static errorTitle(message: any): void { method warningTitle (line 16) | static warningTitle(message: any): void { method clusterTitle (line 20) | static clusterTitle(message: any): void { method httpTitle (line 24) | static httpTitle(message: any): void { method discoverTitle (line 28) | static discoverTitle(message: any): void { method websocketTitle (line 32) | static websocketTitle(message: any): void { method webhookSenderTitle (line 36) | static webhookSenderTitle(message: any): void { method info (line 40) | static info(message: any): void { method success (line 44) | static success(message: any): void { method error (line 48) | static error(message: any): void { method warning (line 52) | static warning(message: any): void { method cluster (line 56) | static cluster(message: any): void { method http (line 60) | static http(message: any): void { method discover (line 64) | static discover(message: any): void { method websocket (line 68) | static websocket(message: any): void { method webhookSender (line 72) | static webhookSender(message: any): void { method br (line 76) | static br(): void { method prefixWithTime (line 80) | protected static prefixWithTime(message: any): any { method log (line 88) | protected static log(message: any, ...styles: string[]): void { FILE: src/message.ts type MessageData (line 1) | interface MessageData { type PusherMessage (line 8) | interface PusherMessage { type PusherApiMessage (line 15) | interface PusherApiMessage { type SentPusherMessage (line 23) | interface SentPusherMessage { type uWebSocketMessage (line 29) | type uWebSocketMessage = ArrayBuffer|PusherMessage; FILE: src/metrics/metrics-interface.ts type MetricsInterface (line 4) | interface MetricsInterface { FILE: src/metrics/metrics.ts class Metrics (line 8) | class Metrics implements MetricsInterface { method constructor (line 17) | constructor(protected server: Server) { method markNewConnection (line 28) | markNewConnection(ws: WebSocket): void { method markDisconnection (line 37) | markDisconnection(ws: WebSocket): void { method markApiMessage (line 46) | markApiMessage(appId: string, incomingMessage: any, sentMessage: any):... method markWsMessageSent (line 55) | markWsMessageSent(appId: string, sentMessage: any): void { method markWsMessageReceived (line 64) | markWsMessageReceived(appId: string, message: any): void { method trackHorizontalAdapterResolveTime (line 73) | trackHorizontalAdapterResolveTime(appId: string, time: number): void { method trackHorizontalAdapterResolvedPromises (line 80) | trackHorizontalAdapterResolvedPromises(appId: string, resolved = true)... method markHorizontalAdapterRequestSent (line 87) | markHorizontalAdapterRequestSent(appId: string): void { method markHorizontalAdapterRequestReceived (line 94) | markHorizontalAdapterRequestReceived(appId: string): void { method markHorizontalAdapterResponseReceived (line 101) | markHorizontalAdapterResponseReceived(appId: string): void { method getMetricsAsPlaintext (line 108) | getMetricsAsPlaintext(): Promise { method getMetricsAsJson (line 119) | getMetricsAsJson(): Promise { method clear (line 130) | clear(): Promise { FILE: src/metrics/prometheus-metrics-driver.ts type PrometheusMetrics (line 7) | interface PrometheusMetrics { type InfraMetadata (line 26) | interface InfraMetadata { type NamespaceTags (line 30) | interface NamespaceTags { class PrometheusMetricsDriver (line 35) | class PrometheusMetricsDriver implements MetricsInterface { method constructor (line 64) | constructor(protected server: Server) { method markNewConnection (line 83) | markNewConnection(ws: WebSocket): void { method markDisconnection (line 91) | markDisconnection(ws: WebSocket): void { method markApiMessage (line 99) | markApiMessage(appId: string, incomingMessage: any, sentMessage: any):... method markWsMessageSent (line 108) | markWsMessageSent(appId: string, sentMessage: any): void { method markWsMessageReceived (line 116) | markWsMessageReceived(appId: string, message: any): void { method trackHorizontalAdapterResolveTime (line 124) | trackHorizontalAdapterResolveTime(appId: string, time: number): void { method trackHorizontalAdapterResolvedPromises (line 131) | trackHorizontalAdapterResolvedPromises(appId: string, resolved = true)... method markHorizontalAdapterRequestSent (line 142) | markHorizontalAdapterRequestSent(appId: string): void { method markHorizontalAdapterRequestReceived (line 149) | markHorizontalAdapterRequestReceived(appId: string): void { method markHorizontalAdapterResponseReceived (line 156) | markHorizontalAdapterResponseReceived(appId: string): void { method getMetricsAsPlaintext (line 163) | getMetricsAsPlaintext(): Promise { method getMetricsAsJson (line 170) | getMetricsAsJson(): Promise { method clear (line 177) | clear(): Promise { method getTags (line 184) | protected getTags(appId: string): NamespaceTags { method registerMetrics (line 191) | protected registerMetrics(): void { FILE: src/namespace.ts class Namespace (line 4) | class Namespace { method constructor (line 23) | constructor(protected appId: string) { method getSockets (line 30) | getSockets(): Promise> { method addSocket (line 37) | addSocket(ws: WebSocket): Promise { method removeSocket (line 47) | async removeSocket(wsId: string): Promise { method addToChannel (line 57) | addToChannel(ws: WebSocket, channel: string): Promise { method removeFromChannel (line 73) | async removeFromChannel(wsId: string, channel: string|string[]): Promi... method isInChannel (line 100) | isInChannel(wsId: string, channel: string): Promise { method getChannels (line 113) | getChannels(): Promise>> { method getChannelsWithSocketsCount (line 120) | getChannelsWithSocketsCount(): Promise> { method getChannelSockets (line 135) | getChannelSockets(channel: string): Promise> { method getChannelMembers (line 158) | getChannelMembers(channel: string): Promise { method removeUser (line 219) | removeUser(ws: WebSocket): Promise { method getUserSockets (line 238) | getUserSockets(userId: string|number): Promise> { FILE: src/node.ts type Node (line 1) | interface Node { FILE: src/options.ts type Redis (line 6) | interface Redis { type RedisSentinel (line 19) | interface RedisSentinel { type ClusterNode (line 24) | interface ClusterNode { type KnexConnection (line 29) | interface KnexConnection { type Options (line 37) | interface Options { FILE: src/queues/queue-interface.ts type QueueInterface (line 3) | interface QueueInterface { FILE: src/queues/queue.ts class Queue (line 9) | class Queue implements QueueInterface { method constructor (line 18) | constructor(protected server: Server) { method addToQueue (line 33) | addToQueue(queueName: string, data?: JobData): Promise { method processQueue (line 40) | processQueue(queueName: string, callback: CallableFunction): Promise { FILE: src/queues/redis-queue-driver.ts type QueueWithWorker (line 8) | interface QueueWithWorker { class RedisQueueDriver (line 14) | class RedisQueueDriver implements QueueInterface { method constructor (line 23) | constructor(protected server: Server) { method addToQueue (line 30) | addToQueue(queueName: string, data: JobData): Promise { method processQueue (line 45) | processQueue(queueName: string, callback: CallableFunction): Promise { FILE: src/queues/sqs-queue-driver.ts class SqsQueueDriver (line 12) | class SqsQueueDriver implements QueueInterface { method constructor (line 21) | constructor(protected server: Server) { method addToQueue (line 28) | addToQueue(queueName: string, data: JobData): Promise { method processQueue (line 58) | processQueue(queueName: string, callback: CallableFunction): Promise { method sqsClient (line 119) | protected sqsClient(): SQS { FILE: src/queues/sync-queue-driver.ts class SyncQueueDriver (line 7) | class SyncQueueDriver implements QueueInterface { method constructor (line 16) | constructor(protected server: Server) { method addToQueue (line 23) | addToQueue(queueName: string, data: JobData): Promise { method processQueue (line 40) | processQueue(queueName: string, callback: CallableFunction): Promise { FILE: src/rate-limiters/cluster-rate-limiter.ts type ConsumptionMessage (line 10) | interface ConsumptionMessage { class ClusterRateLimiter (line 17) | class ClusterRateLimiter extends LocalRateLimiter { method constructor (line 21) | constructor(protected server: Server) { method consume (line 62) | protected consume(app: App, eventKey: string, points: number, maxPoint... method disconnect (line 77) | disconnect(): Promise { method sendRateLimiters (line 91) | protected sendRateLimiters(): void { FILE: src/rate-limiters/local-rate-limiter.ts class LocalRateLimiter (line 7) | class LocalRateLimiter implements RateLimiterInterface { method constructor (line 18) | constructor(protected server: Server) { method consumeBackendEventPoints (line 25) | consumeBackendEventPoints(points: number, app?: App, ws?: WebSocket): ... method consumeFrontendEventPoints (line 37) | consumeFrontendEventPoints(points: number, app?: App, ws?: WebSocket):... method consumeReadRequestsPoints (line 49) | consumeReadRequestsPoints(points: number, app?: App, ws?: WebSocket): ... method createNewRateLimiter (line 61) | createNewRateLimiter(appId: string, maxPoints: number): RateLimiterAbs... method disconnect (line 72) | disconnect(): Promise { method initializeRateLimiter (line 79) | protected initializeRateLimiter(appId: string, eventKey: string, maxPo... method consume (line 97) | protected consume(app: App, eventKey: string, points: number, maxPoint... FILE: src/rate-limiters/rate-limiter-interface.ts type ConsumptionResponse (line 5) | interface ConsumptionResponse { type RateLimiterInterface (line 15) | interface RateLimiterInterface { FILE: src/rate-limiters/rate-limiter.ts class RateLimiter (line 11) | class RateLimiter implements RateLimiterInterface { method constructor (line 20) | constructor(server: Server) { method consumeBackendEventPoints (line 35) | consumeBackendEventPoints(points: number, app?: App, ws?: WebSocket): ... method consumeFrontendEventPoints (line 42) | consumeFrontendEventPoints(points: number, app?: App, ws?: WebSocket):... method consumeReadRequestsPoints (line 49) | consumeReadRequestsPoints(points: number, app?: App, ws?: WebSocket): ... method createNewRateLimiter (line 56) | createNewRateLimiter(appId: string, maxPoints: number): RateLimiterAbs... method disconnect (line 63) | disconnect(): Promise { FILE: src/rate-limiters/redis-rate-limiter.ts class RedisRateLimiter (line 6) | class RedisRateLimiter extends LocalRateLimiter { method constructor (line 15) | constructor(protected server: Server) { method initializeRateLimiter (line 34) | protected initializeRateLimiter(appId: string, eventKey: string, maxPo... method disconnect (line 48) | disconnect(): Promise { FILE: src/server.ts class Server (line 26) | class Server { method constructor (line 326) | constructor(options = {}) { method start (line 333) | static async start(options: any = {}, callback?: CallableFunction) { method start (line 340) | async start(callback?: CallableFunction) { method stop (line 412) | stop(): Promise { method setOptions (line 452) | setOptions(options: { [key: string]: any; }): void { method initializeDrivers (line 468) | initializeDrivers(): Promise { method setAppManager (line 483) | setAppManager(instance: AppManagerInterface): void { method setAdapter (line 490) | setAdapter(instance: AdapterInterface): Promise { method setMetricsManager (line 502) | setMetricsManager(instance: MetricsInterface): Promise { method setRateLimiter (line 512) | setRateLimiter(instance: RateLimiterInterface): Promise { method setQueueManager (line 522) | setQueueManager(instance: QueueInterface): Promise { method setCacheManager (line 532) | setCacheManager(instance: CacheManagerInterface): Promise { method setWebhookSender (line 542) | setWebhookSender(): Promise { method url (line 552) | protected url(path: string): string { method clusterPrefix (line 559) | clusterPrefix(channel: string): string { method configureDiscovery (line 570) | protected configureDiscovery(): Promise { method configureWebsockets (line 631) | protected configureWebsockets(server: TemplatedApp): Promise { method configureMetricsServer (line 726) | protected configureMetricsServer(metricsServer: TemplatedApp): Promise... method shouldConfigureSsl (line 750) | protected shouldConfigureSsl(): boolean { method canProcessQueues (line 758) | public canProcessQueues(): boolean { method canProcessRequests (line 766) | public canProcessRequests(): boolean { FILE: src/utils.ts class Utils (line 1) | class Utils { method dataToBytes (line 37) | static dataToBytes(...data: any): number { method dataToKilobytes (line 52) | static dataToKilobytes(...data: any): number { method dataToMegabytes (line 59) | static dataToMegabytes(...data: any): number { method isPrivateChannel (line 66) | static isPrivateChannel(channel: string): boolean { method isPresenceChannel (line 83) | static isPresenceChannel(channel: string): boolean { method isEncryptedPrivateChannel (line 90) | static isEncryptedPrivateChannel(channel: string): boolean { method isCachingChannel (line 97) | static isCachingChannel(channel: string): boolean { method isClientEvent (line 114) | static isClientEvent(event: string): boolean { method restrictedChannelName (line 132) | static restrictedChannelName(name: string) { FILE: src/webhook-sender.ts type ClientEventData (line 10) | interface ClientEventData { type JobData (line 22) | interface JobData { function createWebhookHmac (line 35) | function createWebhookHmac(data: string, secret: string): string { class WebhookSender (line 41) | class WebhookSender { method constructor (line 55) | constructor(protected server: Server) { method sendClientEvent (line 182) | public sendClientEvent(app: App, channel: string, event: string, data:... method sendMemberAdded (line 208) | public sendMemberAdded(app: App, channel: string, userId: string): void { method sendMemberRemoved (line 223) | public sendMemberRemoved(app: App, channel: string, userId: string): v... method sendChannelVacated (line 238) | public sendChannelVacated(app: App, channel: string): void { method sendChannelOccupied (line 252) | public sendChannelOccupied(app: App, channel: string): void { method sendCacheMissed (line 266) | public sendCacheMissed(app: App, channel: string): void { method send (line 280) | protected send(app: App, data: ClientEventData, queueName: string): vo... method sendWebhook (line 291) | protected sendWebhook(app: App, data: ClientEventData|ClientEventData[... method sendWebhookByBatching (line 320) | protected sendWebhookByBatching(app: App, data: ClientEventData, queue... FILE: src/ws-handler.ts class WsHandler (line 19) | class WsHandler { method constructor (line 43) | constructor(protected server: Server) { method onOpen (line 53) | onOpen(ws: WebSocket): any { method onMessage (line 161) | onMessage(ws: WebSocket, message: uWebSocketMessage, isBinary: boolean... method onClose (line 202) | onClose(ws: WebSocket, code: number, message: uWebSocketMessage): any { method evictSocketFromMemory (line 217) | evictSocketFromMemory(ws: WebSocket): Promise { method closeAllLocalSockets (line 231) | async closeAllLocalSockets(): Promise { method handleUpgrade (line 273) | handleUpgrade(res: HttpResponse, req: HttpRequest, context): any { method handlePong (line 290) | handlePong(ws: WebSocket): any { method subscribeToChannel (line 314) | subscribeToChannel(ws: WebSocket, message: PusherMessage): any { method unsubscribeFromChannel (line 468) | unsubscribeFromChannel(ws: WebSocket, channel: string, closing = false... method unsubscribeFromAllChannels (line 523) | unsubscribeFromAllChannels(ws: WebSocket, closing = true): Promise { method checkIfAppIsEnabled (line 736) | protected checkIfAppIsEnabled(ws: WebSocket): Promise { method checkAppConnectionLimit (line 744) | protected checkAppConnectionLimit(ws: WebSocket): Promise { method signinTokenIsValid (line 762) | signinTokenIsValid(ws: WebSocket, userData: string, signatureToCheck: ... method signinTokenForUserData (line 771) | protected signinTokenForUserData(ws: WebSocket, userData: string): Pro... method generateSocketId (line 785) | protected generateSocketId(): string { method clearTimeout (line 797) | protected clearTimeout(ws: WebSocket): void { method updateTimeout (line 806) | protected updateTimeout(ws: WebSocket): void { method setUserAuthenticationTimeout (line 821) | protected setUserAuthenticationTimeout(ws: WebSocket): void { FILE: tests/fixtures/dynamodb_schema.js constant AWS (line 1) | const AWS = require('aws-sdk'); FILE: tests/fixtures/mysql_schema.sql type `apps` (line 1) | CREATE TABLE IF NOT EXISTS `apps` ( FILE: tests/fixtures/postgres_schema.sql type apps (line 1) | CREATE TABLE IF NOT EXISTS apps ( FILE: tests/utils.ts class Utils (line 13) | class Utils { method appManagerIs (line 17) | static appManagerIs(manager: string): boolean { method adapterIs (line 21) | static adapterIs(adapter: string) { method queueDriverIs (line 25) | static queueDriverIs(queueDriver: string) { method waitForPortsToFreeUp (line 29) | static waitForPortsToFreeUp(): Promise { method newServer (line 39) | static newServer(options = {}, callback): any { method newClonedServer (line 86) | static newClonedServer(server: Server, options = {}, callback): any { method newWebhookServer (line 97) | static newWebhookServer(requestHandler: CallableFunction, onReadyCallb... method flushWsServers (line 124) | static flushWsServers(): Promise { method flushHttpServers (line 138) | static flushHttpServers(): Promise { method flushServers (line 152) | static flushServers(): Promise { method newClient (line 159) | static newClient(options = {}, port = 6001, key = 'app-key', withState... method newBackend (line 187) | static newBackend(appId = 'app-id', key = 'app-key', secret = 'app-sec... method newClientForPrivateChannel (line 198) | static newClientForPrivateChannel(clientOptions = {}, port = 6001, key... method newClientForEncryptedPrivateChannel (line 220) | static newClientForEncryptedPrivateChannel(clientOptions = {}, port = ... method newClientForPresenceUser (line 243) | static newClientForPresenceUser(user: any, clientOptions = {}, port = ... method signTokenForPrivateChannel (line 265) | static signTokenForPrivateChannel( method signTokenForPresenceChannel (line 276) | static signTokenForPresenceChannel( method signTokenForUserAuthentication (line 288) | static signTokenForUserAuthentication( method wait (line 299) | static wait(ms): Promise { method randomChannelName (line 303) | static randomChannelName(): string { method shouldRun (line 307) | static shouldRun(condition): jest.It {