public static PipeSubscribeHandshakeResp fromTPipeSubscribeResp(
      final TPipeSubscribeResp handshakeResp) {
    final PipeSubscribeHandshakeResp resp = new PipeSubscribeHandshakeResp();

    if (Objects.nonNull(handshakeResp.body)) {
      for (final ByteBuffer byteBuffer : handshakeResp.body) {
        if (Objects.nonNull(byteBuffer) && byteBuffer.hasRemaining()) {
          resp.dataNodeId = ReadWriteIOUtils.readInt(byteBuffer);
          resp.consumerId = ReadWriteIOUtils.readString(byteBuffer);
          resp.consumerGroupId = ReadWriteIOUtils.readString(byteBuffer);
          break;
        }
      }
    }

    resp.status = handshakeResp.status;
    resp.version = handshakeResp.version;
    resp.type = handshakeResp.type;
    resp.body = handshakeResp.body;

    return resp;
  }
Deserialize `TPipeSubscribeResp` to obtain parameters, called by the subscription client.
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHandshakeResp.java