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