1. Timeouts are now per connection, not using fixed timeouts anywhere. by default...
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 31 May 2007 19:32:33 +0000 (19:32 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 31 May 2007 19:32:33 +0000 (19:32 +0000)
commite8b0e794775b3d7e8517d21982d6ed772f2184ea
tree7f5daed108d489428fab5c0451d0f64768f263ba
parentce9dccf1bbc475249860c50c0214ed790b032dda
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
17 files changed:
java/org/apache/catalina/connector/CometEventImpl.java
java/org/apache/catalina/connector/CoyoteAdapter.java
java/org/apache/catalina/connector/OutputBuffer.java
java/org/apache/catalina/connector/Request.java
java/org/apache/catalina/connector/Response.java
java/org/apache/coyote/ActionCode.java
java/org/apache/coyote/Response.java
java/org/apache/coyote/http11/Http11NioProcessor.java
java/org/apache/coyote/http11/InternalNioInputBuffer.java
java/org/apache/coyote/http11/InternalNioOutputBuffer.java
java/org/apache/tomcat/util/MutableBoolean.java [new file with mode: 0644]
java/org/apache/tomcat/util/MutableInteger.java [new file with mode: 0644]
java/org/apache/tomcat/util/net/NioBlockingSelector.java
java/org/apache/tomcat/util/net/NioChannel.java
java/org/apache/tomcat/util/net/NioEndpoint.java
java/org/apache/tomcat/util/net/NioSelectorPool.java
java/org/apache/tomcat/util/net/SecureNioChannel.java