Mercurial > hg > Members > tatsuki > Alice
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(); + } + } + } + +}