@Override
	protected void service(ChannelRequest<HandshakeRequest> request)
			throws Exception
	{
		ByteBuf buffer;
		request.getRequest().addDecoders();
		if (request.getChannel().pipeline().get(LoginRequestDecoder.class) != null
				&& request.getChannel().pipeline()
						.get(LoginRequestHandler.class) != null)
		{
			switch (request.getRequest().getId())
			{
			case Constants.SERVICE_LOGIN:
				buffer = Unpooled.buffer(17);
				buffer.writeByte(Constants.STATUS_EXCHANGE_DATA);
				buffer.writeLong(0);
				buffer.writeLong(0);
				break;
			case Constants.SERVICE_ONDEMAND:
				buffer = Unpooled.buffer(8);
				buffer.writeLong(Constants.STATUS_EXCHANGE_DATA);
				break;
			default:
				throw new UnsupportedOperationException();
			}
			request.getChannel().write(buffer);
			request.getRequest().addEncoder();
		}
	}