Skip to content

StreamServer

Defined in: packages/node/src/net/stream-server.ts:29

Base class for stream-oriented servers.

This abstraction wraps a net.Server instance and exposes the lifecycle that is independent of the transport: binding state, connection accounting, event-loop referencing and closing.

Binding and address reporting are transport-specific and are added by the concrete subclasses TcpServer and IpcServer, as is the “connection” event, whose payload is a socket of the matching type.

  • EventDispatcherMapBase<TEvents>

TServer extends net.Server = net.Server

TEvents extends StreamServerEvents = StreamServerEvents

  • IEventDispatcherMap<TEvents>

new StreamServer<TServer, TEvents>(server): StreamServer<TServer, TEvents>

Defined in: packages/node/src/net/stream-server.ts:43

Creates a new StreamServer instance.

TServer

The underlying Node.js server.

StreamServer<TServer, TEvents>

EventDispatcherMapBase<TEvents>.constructor

get listening(): boolean

Defined in: packages/node/src/net/stream-server.ts:49

Whether the server is currently listening for connections.

boolean


get maxConnections(): number

Defined in: packages/node/src/net/stream-server.ts:54

Maximum number of concurrent connections accepted by the server.

number

set maxConnections(maxConnections): void

Defined in: packages/node/src/net/stream-server.ts:63

Updates the maximum number of concurrent connections.

Connections accepted beyond this limit are dropped.

number

void

close(): Promise<void>

Defined in: packages/node/src/net/stream-server.ts:107

Stops the server from accepting new connections. Established connections are not closed; the promise resolves once the last of them ends.

Promise<void>

A promise that resolves when the server is fully closed.

When the server was not listening.


getConnections(): Promise<number>

Defined in: packages/node/src/net/stream-server.ts:72

Counts the connections currently handled by the server.

Promise<number>

A promise that resolves with the connection count.


isSubscribed<K>(event, listener): boolean

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:38

Check if a callback is subscribed to a specific event.

K extends string | number | symbol

K

The event name.

Callable<TEvents[K]>

The callback to check.

boolean

IEventDispatcherMap.isSubscribed

EventDispatcherMapBase.isSubscribed


ref(): void

Defined in: packages/node/src/net/stream-server.ts:88

Marks the server as referenced, preventing the Node.js process from exiting while it is listening.

void


subscribe<K>(event, listener, options?): Callable | null

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:23

K extends string | number | symbol

K

Callable<TEvents[K]>

EventDispatcherSubscribeOptions

Callable | null

IEventDispatcherMap.subscribe

EventDispatcherMapBase.subscribe


unref(): void

Defined in: packages/node/src/net/stream-server.ts:96

Marks the server as unreferenced, allowing the Node.js process to exit even while it is listening.

void


unsubscribe<K>(event, listener): void

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:31

Unsubscribe a callback from a specific event.

K extends string | number | symbol

K

The event name.

Callable<TEvents[K]>

The callback to remove.

void

IEventDispatcherMap.unsubscribe

EventDispatcherMapBase.unsubscribe


wait<K>(event, options?): Promise<TEvents[K]>

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:45

Wait for the next occurrence of a specific event, optionally matching a predicate.

This is a convenience method that subscribes to the dispatcher, waits for the next event that matches the predicate (if provided), and then unsubscribes automatically.

K extends string | number | symbol

K

The event name to wait for.

EventDispatcherWaitOptions<TEvents[K]>

Optional settings including predicate and abort signal.

Promise<TEvents[K]>

A promise that resolves with the event arguments as an array.

IEventDispatcherMap.wait

EventDispatcherMapBase.wait