Looking through the Mina code it seems that the lastIoTime in
AbstractPollingIoProcessor is only updated when messageSent is fired.  This
is causing me some problems when sending larger files (using FileRegion) to
slow clients, sessionIdle is fired even though the IoProcessor continues to
send data to the client.  My first thought was to use
IoSession.getScheduledWriteMessages > 0 my handlers sessionIdle() method to
determine if the session was truly idle.  But this doesn't seem to solve the
problem because I'm not sure how to tell if data is actually being written
to the client because writtenBytes is also only update when messageSent if
fired.  So I'm wondering if anyone has a clever solution to this problem or
whether the semantics of idle notifications might be changed.

-geoff

Reply via email to