1. Timeouts are now per connection, not using fixed timeouts anywhere. by default the connection gets the timeout defined in server.xml
2. Implemented all Comet operations, including the ability to have none
3. Implemented CometEvent.isReadable and isWriteable
isAvailable - means data is available to the servlet
isReadable - means there is data from the socket also checks the socket, by doing a read, in a non blocking fashion to verify this to be true
isWriteable - the last write attempted on this socket was 0, hence we are probably blocking
4. simplified CometEvent.register/unregister, they are now just one call and no syncs
5. After each event, the connection is registered with the same operations it had before
6. CoyoteAdapter respects when the servlet doesn't want to be notified of the READ event, hence it doesn't invoke it automatically
7. Let me know if MutableBoolean and MutableInteger should be elsewhere(in terms of package), they are used since ActionHook doesn't have a return value and also valuable in the output buffers since SSL writing is two steps, one through the engine and the other to the socket
I'm pretty happy with how isReadable,isWriteable works, they are completly non blocking and very accurate
True non blocking in the buffers and filters seems like a major surgery, still holding off on that.
Need to fix the NioBlockingSelector as it is almost impossible to make the poller interest declaration thread safe
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@543226
13f79535-47bb-0310-9956-
ffa450edef68