class

SocketOptions

class SocketOptions : Obj

SocketOptions groups together all the socket options used to tune a TcpSocket, TcpListener, or UdpSocket. See the options method of each of those classes for which options apply. Accessing an unsupported option for a particular socket type will throw UnsupportedErr.

fields broadcast

SO_BROADCAST socket option

reuseAddr

SO_REUSEADDR socket option is used to control the time wait state of a closed socket

keepAlive

SO_KEEPALIVE socket option

receiveBufferSize

SO_RCVBUF option for the size in bytes of the IP stack buffers

inBufferSize

The size in bytes for the sys::InStream buffer

linger

SO_LINGER socket option controls the linger time or set to null to disable linger

receiveTimeout

SO_TIMEOUT socket option controls the amount of time this socket will block on a read call before throwing an IOErr timeout exception

noDelay

TCP_NODELAY socket option specifies that send not be delayed to merge packets (Nagle's algorthm)

sendBufferSize

SO_SNDBUF option for the size in bytes of the IP stack buffers

connectTimeout

Controls default timeout used by TcpSocket.connect

trafficClass

The type-of-class byte in the IP packet header

outBufferSize

The size in bytes for the sys::OutStream buffer

methods copyFrom

Set all of this instance's options from the specified options

broadcast Bool : broadcast

SO_BROADCAST socket option.

connectTimeout @Deprecated { msg="Use SocketConfig.connectTimeout" }
Duration? : connectTimeout

Controls default timeout used by TcpSocket.connect. A null value indicates a system default timeout.

copyFrom Void copyFrom(SocketOptions options)

Set all of this instance's options from the specified options.

inBufferSize Int? : inBufferSize

The size in bytes for the sys::InStream buffer. A value of 0 or null disables input stream buffing. This field may only be set before the socket is connected otherwise Err is thrown.

keepAlive Bool : keepAlive

SO_KEEPALIVE socket option.

linger Duration? : linger

SO_LINGER socket option controls the linger time or set to null to disable linger.

noDelay Bool : noDelay

TCP_NODELAY socket option specifies that send not be delayed to merge packets (Nagle's algorthm).

outBufferSize Int? : outBufferSize

The size in bytes for the sys::OutStream buffer. A value of 0 or null disables output stream buffing. This field may only be set before the socket is connected otherwise Err is thrown.

receiveBufferSize Int : receiveBufferSize

SO_RCVBUF option for the size in bytes of the IP stack buffers.

receiveTimeout Duration? : receiveTimeout

SO_TIMEOUT socket option controls the amount of time this socket will block on a read call before throwing an IOErr timeout exception. Null is used to indicate an infinite timeout.

reuseAddr Bool : reuseAddr

SO_REUSEADDR socket option is used to control the time wait state of a closed socket.

sendBufferSize Int : sendBufferSize

SO_SNDBUF option for the size in bytes of the IP stack buffers.

trafficClass Int : trafficClass

The type-of-class byte in the IP packet header.

For IPv4 this value is detailed in RFC 1349 as the following bitset:

  • IPTOS_LOWCOST (0x02)
  • IPTOS_RELIABILITY (0x04)
  • IPTOS_THROUGHPUT (0x08)
  • IPTOS_LOWDELAY (0x10)

For IPv6 this is the value placed into the sin6_flowinfo header field.

Haxall 4.0.5 ∙ 24-Feb-2026 14:33 EST