You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2008/12/24 16:37:17 UTC

svn commit: r729322 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport/nio: NioReceiver.java ParallelNioSender.java PooledParallelSender.java

Author: markt
Date: Wed Dec 24 07:37:17 2008
New Revision: 729322

URL: http://svn.apache.org/viewvc?rev=729322&view=rev
Log:
Generics for o.a.c.tribes.transport.nio
Fix some other Eclispe warnings (unused code etc)

Modified:
    tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
    tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
    tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java

Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=729322&r1=729321&r2=729322&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Wed Dec 24 07:37:17 2008
@@ -18,7 +18,6 @@
 package org.apache.catalina.tribes.transport.nio;
 
 import java.io.IOException;
-import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.nio.channels.DatagramChannel;
 import java.nio.channels.SelectableChannel;
@@ -63,7 +62,7 @@
     private ServerSocketChannel serverChannel = null;
     private DatagramChannel datagramChannel = null;
 
-    protected LinkedList events = new LinkedList();
+    protected LinkedList<Runnable> events = new LinkedList<Runnable>();
 //    private Object interestOpsMutex = new Object();
 
     public NioReceiver() {
@@ -133,7 +132,7 @@
         selector = Selector.open();
         // set the port the server channel will listen to
         //serverSocket.bind(new InetSocketAddress(getBind(), getTcpListenPort()));
-        bind(serverSocket,getTcpListenPort(),getAutoBind());
+        bind(serverSocket,getPort(),getAutoBind());
         // set non-blocking mode for the listening socket
         serverChannel.configureBlocking(false);
         // register the ServerSocketChannel with the Selector
@@ -165,7 +164,7 @@
         if ( events.size() == 0 ) return;
         synchronized (events) {
             Runnable r = null;
-            while ( (events.size() > 0) && (r = (Runnable)events.removeFirst()) != null ) {
+            while ( (events.size() > 0) && (r = events.removeFirst()) != null ) {
                 try {
                     if ( log.isTraceEnabled() ) log.trace("Processing event in selector:"+r);
                     r.run();
@@ -198,10 +197,10 @@
         if ( (now-lastCheck) < getSelectorTimeout() ) return;
         //timeout
         Selector tmpsel = selector;
-        Set keys =  (isListening()&&tmpsel!=null)?tmpsel.keys():null;
+        Set<SelectionKey> keys =  (isListening()&&tmpsel!=null)?tmpsel.keys():null;
         if ( keys == null ) return;
-        for (Iterator iter = keys.iterator(); iter.hasNext(); ) {
-            SelectionKey key = (SelectionKey) iter.next();
+        for (Iterator<SelectionKey> iter = keys.iterator(); iter.hasNext(); ) {
+            SelectionKey key = iter.next();
             try {
 //                if (key.interestOps() == SelectionKey.OP_READ) {
 //                    //only timeout sockets that we are waiting for a read from
@@ -217,7 +216,7 @@
                     ObjectReader ka = (ObjectReader) key.attachment();
                     if ( ka != null ) {
                         long delta = now - ka.getLastAccess();
-                        if (delta > (long) getTimeout() && (!ka.isAccessed())) {
+                        if (delta > getTimeout() && (!ka.isAccessed())) {
                             if (log.isWarnEnabled())
                                 log.warn("Channel key is registered, but has had no interest ops for the last "+getTimeout()+" ms. (cancelled:"+ka.isCancelled()+"):"+key+" last access:"+new java.sql.Timestamp(ka.getLastAccess())+" Possible cause: all threads used, perform thread dump");
                             ka.setLastAccess(now);
@@ -264,7 +263,7 @@
             try {
                 events();
                 socketTimeouts();
-                int n = selector.select(getTcpSelectorTimeout());
+                int n = selector.select(getSelectorTimeout());
                 if (n == 0) {
                     //there is a good chance that we got here
                     //because the TcpReplicationThread called
@@ -279,10 +278,10 @@
                     continue; // nothing to do
                 }
                 // get an iterator over the set of selected keys
-                Iterator it = (selector!=null)?selector.selectedKeys().iterator():null;
+                Iterator<SelectionKey> it = (selector!=null)?selector.selectedKeys().iterator():null;
                 // look at each key in the selected set
                 while (selector!=null && it.hasNext()) {
-                    SelectionKey key = (SelectionKey) it.next();
+                    SelectionKey key = it.next();
                     // Is a new connection coming in?
                     if (key.isAcceptable()) {
                         ServerSocketChannel server = (ServerSocketChannel) key.channel();
@@ -364,10 +363,10 @@
         this.selector = null;
         if (selector==null) return;
         try {
-            Iterator it = selector.keys().iterator();
+            Iterator<SelectionKey> it = selector.keys().iterator();
             // look at each key in the selected set
             while (it.hasNext()) {
-                SelectionKey key = (SelectionKey)it.next();
+                SelectionKey key = it.next();
                 key.channel().close();
                 key.attach(null);
                 key.cancel();

Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=729322&r1=729321&r2=729322&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java Wed Dec 24 07:37:17 2008
@@ -23,6 +23,7 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import org.apache.catalina.tribes.ChannelException;
 import org.apache.catalina.tribes.ChannelMessage;
@@ -52,7 +53,8 @@
     protected static org.apache.juli.logging.Log log = org.apache.juli.logging.LogFactory.getLog(ParallelNioSender.class);
     protected long selectTimeout = 5000; //default 5 seconds, same as send timeout
     protected Selector selector;
-    protected HashMap nioSenders = new HashMap();
+    protected HashMap<Member, NioSender> nioSenders =
+        new HashMap<Member, NioSender>();
 
     public ParallelNioSender() throws IOException {
         selector = Selector.open();
@@ -120,9 +122,9 @@
             return 0;
         }
 
-        Iterator it = selector.selectedKeys().iterator();
+        Iterator<SelectionKey> it = selector.selectedKeys().iterator();
         while (it.hasNext()) {
-            SelectionKey sk = (SelectionKey) it.next();
+            SelectionKey sk = it.next();
             it.remove();
             int readyOps = sk.readyOps();
             sk.interestOps(sk.interestOps() & ~readyOps);
@@ -211,21 +213,19 @@
         ChannelException cx = null;
         NioSender[] result = new NioSender[destination.length];
         for ( int i=0; i<destination.length; i++ ) {
-            NioSender sender = (NioSender)nioSenders.get(destination[i]);
+            NioSender sender = nioSenders.get(destination[i]);
             try {
 
                 if (sender == null) {
                     sender = new NioSender();
-                    sender.transferProperties(this, sender);
+                    AbstractSender.transferProperties(this, sender);
                     nioSenders.put(destination[i], sender);
                 }
-                if (sender != null) {
-                    sender.reset();
-                    sender.setDestination(destination[i]);
-                    sender.setSelector(selector);
-                    sender.setUdpBased(isUdpBased());
-                    result[i] = sender;
-                }
+                sender.reset();
+                sender.setDestination(destination[i]);
+                sender.setSelector(selector);
+                sender.setUdpBased(isUdpBased());
+                result[i] = sender;
             }catch ( UnknownHostException x ) {
                 if (cx == null) cx = new ChannelException("Unable to setup NioSender.", x);
                 cx.addFaultyMember(destination[i], x);
@@ -247,7 +247,7 @@
         for (int i=0; i<members.length; i++ ) {
             Member mbr = (Member)members[i];
             try {
-                NioSender sender = (NioSender)nioSenders.get(mbr);
+                NioSender sender = nioSenders.get(mbr);
                 sender.disconnect();
             }catch ( Exception e ) {
                 if ( x == null ) x = new ChannelException(e);
@@ -264,7 +264,7 @@
 
     public void remove(Member member) {
         //disconnect senders
-        NioSender sender = (NioSender)nioSenders.remove(member);
+        NioSender sender = nioSenders.remove(member);
         if ( sender != null ) sender.disconnect();
     }
 
@@ -282,9 +282,9 @@
 
     public boolean keepalive() {
         boolean result = false;
-        for ( Iterator i = nioSenders.entrySet().iterator(); i.hasNext();  ) {
-            Map.Entry entry = (Map.Entry)i.next();
-            NioSender sender = (NioSender)entry.getValue();
+        for ( Iterator<Entry<Member, NioSender>> i = nioSenders.entrySet().iterator(); i.hasNext();  ) {
+            Map.Entry<Member, NioSender> entry = i.next();
+            NioSender sender = entry.getValue();
             if ( sender.keepalive() ) {
                 //nioSenders.remove(entry.getKey());
                 i.remove();

Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java?rev=729322&r1=729321&r2=729322&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java Wed Dec 24 07:37:17 2008
@@ -21,6 +21,7 @@
 import org.apache.catalina.tribes.ChannelException;
 import org.apache.catalina.tribes.ChannelMessage;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.transport.AbstractSender;
 import org.apache.catalina.tribes.transport.DataSender;
 import org.apache.catalina.tribes.transport.MultiPointSender;
 import org.apache.catalina.tribes.transport.PooledSender;
@@ -62,7 +63,7 @@
     public DataSender getNewDataSender() {
         try {
             ParallelNioSender sender = new ParallelNioSender();
-            sender.transferProperties(this,sender);
+            AbstractSender.transferProperties(this,sender);
             return sender;
         } catch ( IOException x ) {
             throw new RuntimeException("Unable to open NIO selector.",x);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org