(see setting description format info here)
|Function:||Defines data connection timeout|
|Set (S) command format:||SCTttt, where ttt is connection timeout, 0-99 minutes; 0 means connection never times out|
|Post-initialization value:||5 (5 minutes)|
|Change takes effect:||After reboot|
|First introduced:||Earlier than "baseline" V3.14/V3.51|
Connection Timeout defines after how many minutes an idle connection is terminated. Setting Connection Timeout to 0 disables automatic timeouts. Setting Connection Timeout to any value in the 1-99 range enables automatic timeouts: when no packets are transferred across a connection in either direction for a corresponding number of minutes the connection is terminated. The DS terminates TCP connections by sending an RST packet, while UDP "connections" are simply discarded (the other party is not informed in any way).
Connection Timeout prevents an idle ("hanged") connection from occupying the DS indefinitely thus keeping other network hosts from communicating with the DS. Note, that idle connection is defined as the one across which no packets are transferred for a period of time (not the one across which no data is transferred for a period of time). This provides a way of maintaining the connection even in the absence of data (this is known as "keepalive"). For TCP connections remote host can send empty ACK packets, for UDP "connection" remote host can send UDP datagrams of zero length.
Connection Timeout is relevant even when the Connection Mode (CM) setting is 0 (immediately). In this case, when timeout comes the DS terminates an existing connection to the network host and immediately opens a new one. This can be used to "auto-repair" hanged connections in systems where permanent connection to the network host must be maintained indefinitely.