@Override
 public Future<WriteResult> write(String message) throws IOException {
   return remote.sendStringByFuture(message);
 }
 @Override
 public Future<WriteResult> write(ByteBuffer buffer) throws IOException {
   return remote.sendBytesByFuture(buffer);
 }
 @Override
 public void ping(ByteBuffer buf) throws IOException {
   remote.sendPing(buf);
 }
 @Override
 public Future<WriteResult> write(byte[] buf, int offset, int len) throws IOException {
   return remote.sendBytesByFuture(ByteBuffer.wrap(buf, offset, len));
 }
 @Override
 public InetSocketAddress getRemoteAddress() {
   return remote.getInetSocketAddress();
 }