@SuppressWarnings("synthetic-access")
 @Override
 public void sessionClosed(IoSession session) throws Exception {
   TcpipClientChannel channel =
       (TcpipClientChannel) session.getAttribute(TcpipClientChannel.class);
   if (channel != null) {
     log.debug("IoSession {} closed, will now close the channel", session);
     channel.close(false);
   }
 }
    @Override
    public void messageReceived(IoSession session, Readable message) throws Exception {
      TcpipClientChannel channel =
          (TcpipClientChannel) session.getAttribute(TcpipClientChannel.class);
      Buffer buffer = new ByteArrayBuffer();
      buffer.putBuffer(message);
      channel.waitFor(ClientChannel.OPENED | ClientChannel.CLOSED, Long.MAX_VALUE);

      OutputStream outputStream = channel.getInvertedIn();
      outputStream.write(buffer.array(), buffer.rpos(), buffer.available());
      outputStream.flush();
    }