Must be called by the subclass when finished handling the connection.
Will be automatically called by the select listener if assign() or
handleConnection() throws an exception.
The closure of the socket after handling a connection is quite
sensitive. If a connection has actually been assigned, the socket must
be shut down *unless* an I/O error has been reported for the socket
because then it will already have been shut down automatically. The
abstract io_error() method is used to determine whether the an I/O error
was reported for the socket or not.
Must be called by the subclass when finished handling the connection. Will be automatically called by the select listener if assign() or handleConnection() throws an exception.
The closure of the socket after handling a connection is quite sensitive. If a connection has actually been assigned, the socket must be shut down *unless* an I/O error has been reported for the socket because then it will already have been shut down automatically. The abstract io_error() method is used to determine whether the an I/O error was reported for the socket or not.