in Sources/NIOTransportServices/TCPOptions+SocketChannelOption.swift [23:52]
func applyChannelOption(option: ChannelOptions.Types.SocketOption, value: SocketOptionValue) throws {
switch (option.level, option.name) {
case (IPPROTO_TCP, TCP_NODELAY):
self.noDelay = value != 0
case (IPPROTO_TCP, TCP_NOPUSH):
self.noPush = value != 0
case (IPPROTO_TCP, TCP_NOOPT):
self.noOptions = value != 0
case (IPPROTO_TCP, TCP_KEEPCNT):
self.keepaliveCount = Int(value)
case (IPPROTO_TCP, TCP_KEEPALIVE):
self.keepaliveIdle = Int(value)
case (IPPROTO_TCP, TCP_KEEPINTVL):
self.keepaliveInterval = Int(value)
case (IPPROTO_TCP, TCP_MAXSEG):
self.maximumSegmentSize = Int(value)
case (IPPROTO_TCP, TCP_CONNECTIONTIMEOUT):
self.connectionTimeout = Int(value)
case (IPPROTO_TCP, TCP_RXT_CONNDROPTIME):
self.connectionDropTime = Int(value)
case (IPPROTO_TCP, TCP_RXT_FINDROP):
self.retransmitFinDrop = value != 0
case (IPPROTO_TCP, TCP_SENDMOREACKS):
self.disableAckStretching = value != 0
case (SOL_SOCKET, SO_KEEPALIVE):
self.enableKeepalive = value != 0
default:
throw NIOTSErrors.UnsupportedSocketOption(optionValue: option)
}
}