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.
SO_BROADCAST socket option.
Controls default timeout used by
TcpSocket.connect. A null value indicates a system default timeout.
Set all of this instance's options from the specified options.
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.
SO_KEEPALIVE socket option.
SO_LINGER socket option controls the linger time or set to null to disable linger.
TCP_NODELAY socket option specifies that send not be delayed to merge packets (Nagle's algorthm).
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.
SO_RCVBUF option for the size in bytes of the IP stack buffers.
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.
SO_REUSEADDR socket option is used to control the time wait state of a closed socket.
SO_SNDBUF option for the size in bytes of the IP stack buffers.
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.