if (e.getMessage() instanceof TextWebSocketFrame)
{
TextWebSocketFrame frame = (TextWebSocketFrame) e.getMessage();
String data = frame.getText();
LOG.trace("From websocket: " + data);
Event event = gson.fromJson(data, DefaultEvent.class);
int type = event.getType();
if (Events.LOG_IN == type)
{
LOG.trace("Login attempt from {}", channel.getRemoteAddress());
List<String> credList = null;
credList = (List) event.getSource();
Player player = lookupPlayer(credList.get(0), credList.get(1));
handleLogin(player, channel);
handleGameRoomJoin(player, channel, credList.get(2));
}
else if (type == Events.RECONNECT)
{
LOG.debug("Reconnect attempt from {}", channel.getRemoteAddress());
PlayerSession playerSession = lookupSession((String)event.getSource());
handleReconnect(playerSession, channel);
}
else
{
LOG.error(
"Invalid event {} sent from remote address {}. "
+ "Going to close channel {}",
new Object[] { event.getType(),
channel.getRemoteAddress(), channel.getId() });
closeChannelWithLoginFailure(channel);
}
}
else