Skip to content

InetSocket

Defined in: packages/node/src/net/inet-socket.ts:42

Base class for sockets whose transport is an IP connection.

On top of StreamSocket it exposes the endpoint accessors and the socket options that only make sense over IP, plus the connection-attempt and name-resolution events Node.js emits while dialling.

It is shared by TcpSocket and TlsSocket: both run over IP, but they establish their connection differently, so neither can be expressed as a subclass of the other.

TSocket extends net.Socket = net.Socket

TEvents extends InetSocketEvents = InetSocketEvents

new InetSocket<TSocket, TEvents>(socket): InetSocket<TSocket, TEvents>

Defined in: packages/node/src/net/stream-socket.ts:121

Creates a new StreamSocket instance.

TSocket

The underlying Node.js socket.

InetSocket<TSocket, TEvents>

StreamSocket.constructor

get bytesRead(): number

Defined in: packages/node/src/net/stream-socket.ts:147

Total number of bytes read from the socket so far.

number

StreamSocket.bytesRead


get bytesWritten(): number

Defined in: packages/node/src/net/stream-socket.ts:152

Total number of bytes written to the socket so far.

number

StreamSocket.bytesWritten


get closed(): boolean

Defined in: packages/node/src/net/stream-socket.ts:137

Indicates whether the socket has been fully closed.

boolean

StreamSocket.closed


get connecting(): boolean

Defined in: packages/node/src/net/stream-socket.ts:157

Whether the socket is currently in the process of connecting.

boolean

StreamSocket.connecting


get destroyed(): boolean

Defined in: packages/node/src/net/stream-socket.ts:142

Indicates whether the underlying socket has been destroyed.

boolean

StreamSocket.destroyed


get localEndpoint(): InetEndpoint | null

Defined in: packages/node/src/net/inet-socket.ts:71

Local endpoint of the socket, or null while it is not connected.

If the socket family is not IPv4 or IPv6.

InetEndpoint | null


get remoteEndpoint(): InetEndpoint | null

Defined in: packages/node/src/net/inet-socket.ts:51

Remote endpoint of the socket, or null while it is not connected.

If the socket family is not IPv4 or IPv6.

InetEndpoint | null


get stream(): Duplex

Defined in: packages/node/src/net/stream-socket.ts:132

Underlying duplex stream for reading and writing data.

This is the wrapped net.Socket instance and can be passed directly to APIs that expect a Node.js stream.

Duplex

StreamSocket.stream


get timeout(): number | null

Defined in: packages/node/src/net/stream-socket.ts:162

Current inactivity timeout in milliseconds, or null if disabled.

number | null

set timeout(timeout): void

Defined in: packages/node/src/net/stream-socket.ts:173

Updates the inactivity timeout for the socket.

When set to a positive number, the socket emits a “timeout” event if no I/O activity occurs within the given number of milliseconds. A value of 0 or null disables the timeout entirely.

number | null

void

StreamSocket.timeout

destroy(): void

Defined in: packages/node/src/net/stream-socket.ts:262

Immediately destroys the underlying socket.

Pending I/O is discarded, the connection is closed and the socket transitions to a terminal state. Any registered “close” listeners will still be invoked.

void

StreamSocket.destroy


end(options?): Promise<void>

Defined in: packages/node/src/net/stream-socket.ts:204

Half-closes the socket, optionally waiting for a full close.

If waitForClose is omitted or false, the promise resolves once the local side has finished sending data and the FIN has been queued. When waitForClose is true, the promise resolves only after the remote side has also closed and the “close” event has fired.

StreamSocketEndOptions

Optional settings for ending the socket.

Promise<void>

A promise that resolves once the socket has ended.

StreamSocket.end


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

StreamSocket.isSubscribed


ref(): void

Defined in: packages/node/src/net/stream-socket.ts:181

Marks the socket as referenced, preventing the Node.js process from exiting while the socket is active.

void

StreamSocket.ref


setKeepAlive(enable, initialDelay?): void

Defined in: packages/node/src/net/inet-socket.ts:93

Sets the keep-alive option for the socket.

boolean

Whether to enable keep-alive.

number

The initial delay in milliseconds before the first keep-alive probe.

void


setNoDelay(noDelay): void

Defined in: packages/node/src/net/inet-socket.ts:102

Enables or disables the Nagle algorithm for the socket.

boolean

Whether to disable the Nagle algorithm.

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

StreamSocket.subscribe


unref(): void

Defined in: packages/node/src/net/stream-socket.ts:189

Marks the socket as unreferenced, allowing the Node.js process to exit even if the socket is still active.

void

StreamSocket.unref


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

StreamSocket.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.

StreamSocket.wait


write(data): Promise<void>

Defined in: packages/node/src/net/stream-socket.ts:241

Writes data to the socket and resolves once that chunk has been flushed.

Awaiting the result is what applies backpressure: the promise settles on the chunk’s own flush rather than on the whole buffer draining, so a producer that awaits each write never outruns the socket. A caller that does not await is free to queue without bound.

Uint8Array

The data to write.

Promise<void>

When the socket errors or is destroyed before the chunk flushes.

StreamSocket.write


static from(options?): StreamSocket

Defined in: packages/node/src/net/stream-socket.ts:112

Creates a new StreamSocket instance.

SocketConstructorOpts

Options for creating the underlying Node.js socket.

StreamSocket

A new StreamSocket instance.

StreamSocket.from