package ch.ethz.syslab.telesto.server.network; import java.nio.channels.SelectionKey; import java.nio.channels.SocketChannel; import ch.ethz.syslab.telesto.common.model.Client; import ch.ethz.syslab.telesto.common.network.Connection; import ch.ethz.syslab.telesto.server.controller.ServerAuthenticationProtocolHandler; import ch.ethz.syslab.telesto.server.controller.ServerProtocolHandler; import ch.ethz.syslab.telesto.server.db.Database; public class ServerConnection extends Connection { private SelectionKey selectionKey; private Database database; public ServerConnection(SocketChannel socket, Database database) { super(socket); this.database = database; protocolHandler = new ServerAuthenticationProtocolHandler(database, this); } public void setSelectionKey(SelectionKey selectionKey) { this.selectionKey = selectionKey; } @Override public void disconnect() { selectionKey.cancel(); super.disconnect(); } public void setClient(Client client) { this.client = client; protocolHandler = new ServerProtocolHandler(database, client); } }