annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
1 package alice.daemon;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
3 import java.io.IOException;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
4 import java.net.ServerSocket;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
5 import java.net.Socket;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
6
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
7 import org.apache.log4j.Logger;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
8
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
9 import alice.datasegment.DataSegment;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
10
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
11 public class AcceptThread extends Thread {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
12
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
13 private ServerSocket ss;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
14 private Logger log = Logger.getLogger(AcceptThread.class);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
15 public int counter = 0;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
16
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
17 public AcceptThread(ServerSocket ss, String name) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
18 super(name);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
19 this.ss = ss;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
20 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
21
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
22 @Override
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
23 public void run() {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
24 while (true) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
25 try {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
26 Socket socket = ss.accept();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
27 socket.setTcpNoDelay(true);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
28 log.info("Accept " + socket.getInetAddress().getHostName() + ":" + socket.getPort());
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
29 Connection connection = new Connection(socket);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
30 String key = "accept" + counter;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
31 IncomingTcpConnection incoming =
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
32 new IncomingTcpConnection(connection, DataSegment.get("local"), key);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
33 incoming.start();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
34 DataSegment.setAccept(key, incoming);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
35 new OutboundTcpConnection(connection).start();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
36 counter++;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
37 } catch (IOException e) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
38 e.printStackTrace();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
39 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
40 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
41 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
42
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
43 }