@Override
	public final void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {	
		GameSession session = (GameSession)ctx.getAttachment();
		if(e.getMessage() instanceof Message) {
			if(session != null) {
				synchronized(LogicService.getWorkerThread()) {
					Message packet = (Message)e.getMessage();
					session.pushPacket(packet);
				}
			}
		}
		if(e.getMessage() instanceof ChannelBuffer) {
			ctx.getChannel().write(ctx);
		}
	}