Constructor
Constructor, uses the default fiber stack size.
Exception type alias. If handle() catches exceptions, it must rethrow these.
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.
Connection handler method. If it catches exceptions, it must rethrow those of type KilledException.
Called by the select listener right after the client connection has been assigned.
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.
Default fiber stack size (16K in 64-bit builds, 8K in 32-bit builds).
Fiber to handle an single connection.
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.
Fiber connection handler base class -- creates a socket and a fiber internally, but does not contain reader / writer instances.