summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/utils/server/SimpleTCPIPServer.java
diff options
context:
space:
mode:
authorabranson <andrew.branson@cern.ch>2011-08-04 00:42:34 +0200
committerabranson <andrew.branson@cern.ch>2011-08-04 00:42:34 +0200
commit0ec8481c10cd8277d84c7c1a785483a0a739e5a0 (patch)
tree5f6e5d9ae75193e67e6f3b3dfa488960c5cde1d5 /source/com/c2kernel/utils/server/SimpleTCPIPServer.java
parent036cbdba66f804743c4c838ed598d6972c4b3e17 (diff)
More code cleanup:
Refactored Entity Proxy Subscription to handle generics better Rewrote RemoteMap to use TreeMap instead of the internal array for order. It now sorts its keys by number if they parse, else as strings. Removed a no-longer-in-progress outcome form class
Diffstat (limited to 'source/com/c2kernel/utils/server/SimpleTCPIPServer.java')
-rw-r--r--source/com/c2kernel/utils/server/SimpleTCPIPServer.java25
1 files changed, 11 insertions, 14 deletions
diff --git a/source/com/c2kernel/utils/server/SimpleTCPIPServer.java b/source/com/c2kernel/utils/server/SimpleTCPIPServer.java
index 8db9257..930fcee 100644
--- a/source/com/c2kernel/utils/server/SimpleTCPIPServer.java
+++ b/source/com/c2kernel/utils/server/SimpleTCPIPServer.java
@@ -1,11 +1,9 @@
package com.c2kernel.utils.server;
-import java.io.InputStream;
import java.io.InterruptedIOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.ListIterator;
import java.util.NoSuchElementException;
@@ -17,13 +15,13 @@ public class SimpleTCPIPServer implements Runnable
int port = 0;
int maxConn = 10;
Thread listener = null;
- Class handlerClass = null;
+ Class<?> handlerClass = null;
ServerSocket serverSocket = null;
boolean keepListening = true;
ArrayList<SocketHandler> currentHandlers = new ArrayList<SocketHandler>();
static short noServers = 0;
- public SimpleTCPIPServer(int port, Class handlerClass, int maxConnections)
+ public SimpleTCPIPServer(int port, Class<?> handlerClass, int maxConnections)
{
this.port = port;
this.handlerClass = handlerClass;
@@ -35,26 +33,25 @@ public class SimpleTCPIPServer implements Runnable
{
if(listener != null) return;
keepListening = true;
-
+
listener = new Thread(this);
listener.start();
}
-
+
public void stopListening()
{
Logger.msg("SimpleTCPIPServer: Closing server for " + handlerClass.getName() +" on port "+ port);
keepListening = false;
- for (Iterator iter = currentHandlers.iterator(); iter.hasNext();) {
- SocketHandler thisHandler = (SocketHandler)iter.next();
+ for (SocketHandler thisHandler : currentHandlers) {
thisHandler.shutdown();
}
}
- public void run()
+ @Override
+ public void run()
{
Thread.currentThread().setName("TCP/IP Server for "+handlerClass.getName());
Socket connectionSocket = null;
- InputStream inputStream = null;
try {
serverSocket = new ServerSocket(port);
@@ -64,11 +61,11 @@ public class SimpleTCPIPServer implements Runnable
serverSocket.setSoTimeout(500);
SocketHandler freeHandler = null;
while(keepListening) {
- if (freeHandler == null || freeHandler.isBusy()) {
- ListIterator i = currentHandlers.listIterator();
+ if (freeHandler == null || freeHandler.isBusy()) {
+ ListIterator<SocketHandler> i = currentHandlers.listIterator();
try {
do {
- freeHandler = (SocketHandler)i.next();
+ freeHandler = i.next();
} while (freeHandler.isBusy());
} catch (NoSuchElementException e) {
// create new one
@@ -105,7 +102,7 @@ public class SimpleTCPIPServer implements Runnable
listener = null;
Logger.msg("SimpleTCPIPServer - Servers still running: "+--noServers);
}
-
+
public int getPort() {
return port;
}