Remy Maucherat wrote:
Filip Hanik - Dev Lists wrote:
Please note, that neither Remy nor I have yet really talked about non
blocking reads, so you might think sandbox is non blocking, well it
is not.
It is buffering, but not non blocking. a true non blocking read,
would require a rewrite of all the buffer filters to keep state
between read invocations.
It is non blocking, as the low level read is always non blocking (in
the sandbox design).
so is the trunk impl, if you consider that non blocking. but if you use
request.getInputStream().read() - that would require all the filters to
be modified to keep the state of the last read,
so that request.getInputStream().read() can indeed return 0.
in trunk, I found a way to get away with this, I did the following on
the isReadable()
isReadable() == available()>0 || InternalNioInputBuffer.hasData()==true
|| InternalNioInputBuffer.read()>0
where the last InternalNioInputBuffer.read() is non blocking.
are you of a different understanding that the filters would not need any
modification to make request.getInputStream().read() non blocking?
Filip
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]