Esempio n. 1
0
  @Override
  public Object decode(ChannelHandlerContext ctx, ByteBuf in) throws Exception {
    ByteBuf frame = null;
    try {
      frame = (ByteBuf) super.decode(ctx, in);
      if (null == frame) {
        return null;
      }

      ByteBuffer byteBuffer = frame.nioBuffer();

      return Command.decode(byteBuffer);
    } catch (Exception e) {
      logger.error("decode exception, " + " error ip = ", e);
      RemotingUtil.closeChannel(ctx.channel());
    } finally {
      if (null != frame) {
        frame.release();
      }
    }

    return null;
  }