package ru.alastar.main; import ru.alastar.requests.AccountRequest; import ru.alastar.requests.AuthServerRequest; import ru.alastar.responses.ProcessLoginResponse; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryonet.Connection; import com.esotericsoftware.kryonet.EndPoint; import com.esotericsoftware.kryonet.Listener; public class SPListener extends Listener { public static Kryo kryo; public static float packetDelay = 100F; public SPListener(EndPoint e) { kryo = e.getKryo(); kryo.setRegistrationRequired(true); kryo.setAsmEnabled(true); kryo.register(ServerState.class); kryo.register(AuthServerRequest.class); kryo.register(AccountRequest.class); kryo.register(ProcessLoginResponse.class); } public void received(Connection connection, Object object) { if(object instanceof AuthServerRequest) { ServerPooler.ProcessAuth((AuthServerRequest)object, connection); } if(object instanceof AccountRequest) { ServerPooler.ProcessAccountRequest((AccountRequest)object, connection); } } @Override public void connected(Connection connection) { } @Override public void disconnected(Connection connection) { ServerInfo c = ServerPooler.getServerInfo(connection); if(c != null){ if(ServerPooler.hasServer(c)) ServerPooler.removeServer(c); } connection.close(); } }