void ctl_tcp_close_socket(CTL_SOCKET_t soc, CTL_TCP_SOCKET_CLOSE_TYPE_t linger, CTL_TIME_t timeout);
ctl_tcp_close_socket closes the socket soc. Closing can be either graceful or hard. A graceful shutdown involves invoking the three-way FIN handshake with the remote TCP after all outgoing data has been sent. A hard shutdown merely closes socket soc at the local end—any further packets from the socket's remote partner are NAKed with a reset response.
|linger||timeout||Type of close||Wait for close?|
ctl_tcp_close_socket should not be invoked from the network task with CTL_TCP_CLOSE_LINGER and a non-zero timeout value. In other words, do not use the blocking version of this function in a UDP or TCP callback.