const class inet::SocketConfig
sys::Obj inet::SocketConfig
Configuration options for TCP and UDP sockets. All socket types accept a socket configuration which will be used to configure the socket when it is created.
A system-wide default socket configuration can be obtained with SocketConfig.cur. You can change the system default by using SocketConfig.setCur.
See TcpSocket.make, TcpListener.make, UdpSocket.make, MulticastSocket.make
- acceptTimeout
-
const Duration? acceptTimeout := nullControls how long a
TcpListener.acceptwill block before throwing an IOErr timeout exception.nullis used to indicate infinite timeout. - broadcast
-
const Bool broadcast := falseSO_BROADCASTsocket option - connectTimeout
-
const Duration? connectTimeout := 1minControls the default timeout used by
TcpSocket.connect. A null value indicates a system default timeout (usually wait forever). - copy
-
Create a copy of this configuration and then apply any overrides from the it-block.
- cur
-
static SocketConfig cur()Get the current, default socket configuration
- inBufferSize
-
const Int? inBufferSize := 4096The size in bytes for the sys::InStream buffer. A value of 0 or null disables input stream buffing.
- keepAlive
-
const Bool keepAlive := falseSO_KEEPALIVEoption - keystore
-
const KeyStore? keystore := nullThe
KeyStoreto use when creating secure sockets. If null, the runtime default will be used. - linger
-
const Duration? linger := nullSO_LINGERcontrols the linger time or set to null to disable linger. - make
-
new make(|This|? f := null)Create and configure the socket options.
- noDelay
-
const Bool noDelay := trueTCP_NODELAYsocket option specifies that send not be delayed to merge packets (Nagle's algorthm). - outBufferSize
-
const Int? outBufferSize := 4096The size in bytes for the sys::OutStream buffer. A value of 0 or null disables output stream buffing.
- receiveBufferSize
-
const Int receiveBufferSize := 65536SO_RCVBUFoption for the size in bytes of the IP stack buffers. - receiveTimeout
-
const Duration? receiveTimeout := 1minSO_TIMEOUTcontrols the amount of time a socket will block on a read call before throwing an IOErr timeout exception.nullis used to indicate an infinite timeout. - reuseAddr
-
const Bool reuseAddr := falseSO_REUSEADDRis used to control the time wait state of a closed socket. - sendBufferSize
-
const Int sendBufferSize := 65536SO_SNDBUFoption for the size in bytes of the IP stack buffers. - setCur
-
static Void setCur(SocketConfig cfg)Set a new default socket configuration. This configuration will only apply to new sockets created after this is called. This method may only be called once to change the default socket configuration.
- setTimeouts
-
This setTimeouts(Duration? connectTimeout, Duration? receiveTimeout := connectTimeout)Convenience to create a copy of this socket configuration and set the connect and receive timeouts to the given duration. Setting to
nullindicates infinite timeouts. - trafficClass
-
const Int trafficClass := 0The 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.
- truststore
-
const KeyStore? truststore := nullThe
KeyStoreto use for obtaining trusted certificates when creating secure sockets. If null, the runtime default will be used.