diff src/main/java/alice/daemon/AcceptThread.java @ 345:8f71c3e6f11d

Change directory structure Maven standard
author sugi
date Wed, 16 Apr 2014 18:26:07 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/alice/daemon/AcceptThread.java	Wed Apr 16 18:26:07 2014 +0900
@@ -0,0 +1,43 @@
+package alice.daemon;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+import org.apache.log4j.Logger;
+
+import alice.datasegment.DataSegment;
+
+public class AcceptThread extends Thread {
+
+	private ServerSocket ss;
+	private Logger log = Logger.getLogger(AcceptThread.class);
+	public int counter = 0;
+
+	public AcceptThread(ServerSocket ss, String name) {
+		super(name);
+		this.ss = ss;
+	}
+	
+	@Override
+	public void run() {
+		while (true) {
+			try {
+				Socket socket = ss.accept();
+				socket.setTcpNoDelay(true);
+				log.info("Accept " + socket.getInetAddress().getHostName() + ":" + socket.getPort());
+				Connection connection = new Connection(socket);
+				String key = "accept" + counter;
+				IncomingTcpConnection incoming =
+						new IncomingTcpConnection(connection, DataSegment.get("local"), key);
+				incoming.start();
+				DataSegment.setAccept(key, incoming);
+				new OutboundTcpConnection(connection).start();
+				counter++;
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+
+}