On 23/01/2019 09:42, Florian Weimer wrote:
:
Do you plan to read from the socket buffer in the implementation of
available()?  The problem is that even if there is currently data in the
socket buffer, further data that arrives later can clear it.  I think
this can only happen as part of a connection reset.  Maybe that's okay
because reading will not block, but throw an exception instead?

Not planning for available to read. The long standing behavior in this area is for SIS.available to consistently return 0 after a connection reset has been detected. This is of course awkward to replicate in a new implementation as it requires detecting connection reset, something that was never implemented in the SocketChannel implementation (mostly because it's highly platform/implementation specific as to how read behaves when attempt after a connection reset).

-Alan

Reply via email to