docs: public Packet decode(ByteBuffer buffer, int limit, int position, int readableLength, ChannelContext channelContext) throws AioDecodeException {
          int realableLength = limit - position;
          //收到的数据组不了业务包,则返回null以告诉框架数据不够
          if(realableLength < SimplePacket.HEADER_LENGTH){
              return null;
          }
  
          //读取消息体的长度
          int bodyLength = buffer.getInt();
          if(bodyLength <0){
              throw new AioDecodeException("bodyLength [" + bodyLength + "] is not right, remote:" + channelContext.getClientNode());
          }
          //计算本次需要的数据长度
          int needLength = SimplePacket.HEADER_LENGTH + bodyLength;
          //收到的数据是否足够组包
          int isDateEnough = realableLength - needLength;
          if(isDateEnough < 0){
              return null;
          }
          else{//组包成功
              SimplePacket pack = new SimplePacket();
              if(bodyLength > 0){
                  byte[] dist = new byte[bodyLength];
                  buffer.get(dist);
                  pack.setBody(dist);
              }
              return pack;
          }
      }