// and their file descriptor (second element). It is ordered by connection time
// (and thus also by read timeout time) so that we can read clients from the
// start and stop processing once we get to one that isn't ready to be
- // timed out yet (which makes each processing run amortized O(1)).
+ // timed out yet (which means we only have to look at each client exactly once,
+ // save for the first element of the queue, which is always checked).
//
// Note that when we delete a client, we don't update this queue.
// This means that when reading it, we need to check if the client it