view src/alice/daemon/AcceptThread.java @ 100:b01fb5090e28 working

add default code to each case statements
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Thu, 28 Jun 2012 01:50:29 +0900 (2012-06-27)
parents 498d1d2524d3
children
line wrap: on
line source
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();
			}
		}
	}

}