Constructor
Constructor
Connection handler method, called from a running task.
Called by the select listener right after the client connection has been assigned. If this method throws an exception, error() and finalize() will be called by the select listener.
Called by IConnectionHandler.finalize(), in order to determine if an I/O error was reported for the connection conduit which made the connection automatically being closed. (See comment for IConnectionHandler.finalize() method.)
Called by finalize to unregister the connection socket from epoll before closing it. This is done because closing a socket does not always mean that it is unregistered from epoll -- in situations where the process has forked, the fork's reference to the underlying kernel file description will prevent it from being unregistered until the fork exits. Therefore, to be certain that the socket will not fire again in epoll, we need to explicitly unregister it.
IOWarning exception instance used by the reader/writer and subclass.
Reads data from and writes data to the connection socket.
Object pool index.
Local aliases to avoid public imports.
Client connection socket, exposed to subclasses downcast to Conduit.
SocketError instance to throw on error and query the current socket error status.
Alias for a finalizer delegate, which can be specified externally and is called when the connection is shut down.
Alias for an error delegate, which can be specified externally and is called when a connection error occurs.
Instance id number in debug builds.
Sets the finalizer callback delegate which is called when the connection is shut down. Setting to null disables the finalizer.
Sets the error handler callback delegate which is called when a connection error occurs. Setting to null disables the error handler.
Accepts a pending connection from listening_socket and assigns it to the socket of this instance.
Called by the select listener right after the client connection has been assigned. If this method throws an exception, error() and finalize() will be called by the select listener.
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.
IAdvancedSelectClient.IErrorReporter interface method. Called when a connection error occurs.
Formats information about the connection into the provided buffer. This method is called from the SelectListener in order to log information about the state of all connections in the pool.
Called by finalize to unregister the connection socket from epoll before closing it. This is done because closing a socket does not always mean that it is unregistered from epoll -- in situations where the process has forked, the fork's reference to the underlying kernel file description will prevent it from being unregistered until the fork exits. Therefore, to be certain that the socket will not fire again in epoll, we need to explicitly unregister it.
Tells whether an I/O error has been reported for the socket since the last assign() call.
ditto