Skip to main content
The Deno 2 Release Candidate is here
Learn more
Module

x/websocket_broadcastchannel/src/web-socket-client-server.ts>WebSocketClientServer

Host-wide BroadcastChannel for Deno CLI, backed by WebSockets.
Latest
class WebSocketClientServer
implements Disposable
extends EventTarget
import { WebSocketClientServer } from "https://deno.land/x/websocket_broadcastchannel@0.8.0/src/web-socket-client-server.ts";

Responsible for managing a WebSocket connection, either as a server or as a client.

Owns:

  • a url for where to listen, or connect to
  • a state machine (server/client/connecting/closed etc)
  • an AbortController for when "closed" state is desired or reached
  • a Set, per channel name
  • a WebSocketServer (when server)
  • a WebSocket (when client)
  • yet undelivered messages

Emits:

Listens to:

Constructors

new
WebSocketClientServer(url: IdUrl, autoStart?)

Properties

private
readonly
log1: Logger
private
onBroadcastChannelPostMessage: EventListener
private
optional
server: WebSocketServer
private
readonly
state: StateMachine<ClientServerState>
private
optional
ws: WebSocket
private
yetUndeliveredMessages: MultiplexMessage[]
readonly
abortController: AbortController
readonly
channelSets: Map<string, Set<WebSocketBroadcastChannel>>
readonly
url: IdUrl