The NIO connector uses only one poller, so the poller doesn't need to be comet or...
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 12 Jul 2006 23:29:52 +0000 (23:29 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 12 Jul 2006 23:29:52 +0000 (23:29 +0000)
Instead the comet status is kept with the key/socket for future reference.
This can enable us to end the comet request on the server side in the future, yet maintain the keep alive.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@421461 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/tomcat/util/net/NioEndpoint.java

index dbaf5c9..939923f 100644 (file)
@@ -323,7 +323,6 @@ public class NioEndpoint {
     public Poller getPoller() {\r
         pollerRoundRobin = (pollerRoundRobin + 1) % pollers.length;\r
         Poller poller = pollers[pollerRoundRobin];\r
-        poller.comet = false;\r
         return poller;\r
     }\r
 \r
@@ -333,7 +332,6 @@ public class NioEndpoint {
      */\r
     public Poller getCometPoller() {\r
         Poller poller = getPoller();\r
-        poller.comet = true;\r
         return poller;\r
     }\r
 \r
@@ -620,7 +618,7 @@ public class NioEndpoint {
             // Start poller threads\r
             pollers = new Poller[pollerThreadCount];\r
             for (int i = 0; i < pollerThreadCount; i++) {\r
-                pollers[i] = new Poller(false);\r
+                pollers[i] = new Poller();\r
                 pollers[i].init();\r
                 Thread pollerThread = new Thread(pollers[i], getName() + "-Poller-" + i);\r
                 pollerThread.setPriority(threadPriority);\r
@@ -969,15 +967,13 @@ public class NioEndpoint {
         protected Selector selector;\r
         protected LinkedList<Runnable> events = new LinkedList<Runnable>();\r
         protected boolean close = false;\r
-        protected boolean comet = true;\r
 \r
         protected int keepAliveCount = 0;\r
         public int getKeepAliveCount() { return keepAliveCount; }\r
 \r
 \r
 \r
-        public Poller(boolean comet) throws IOException {\r
-            this.comet = comet;\r
+        public Poller() throws IOException {\r
             this.selector = Selector.open();\r
         }\r
         \r
@@ -1139,7 +1135,7 @@ public class NioEndpoint {
                             if ( attachment.getWakeUp() ) {\r
                                 attachment.setWakeUp(false);\r
                                 synchronized (attachment.getMutex()) {attachment.getMutex().notifyAll();}\r
-                            } else if ( comet ) {\r
+                            } else if ( attachment.getComet() ) {\r
                                 if (!processSocket(channel,false)) processSocket(channel,true);\r
                             } else {\r
                                 boolean close = (!processSocket(channel));\r