QGrpcOperation Class

QGrpcOperation 类提供了处理客户端通信的常用操作。 gRPC客户端的通信。更多

Header: #include <QGrpcOperation>
CMake: find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
Qt 6.5
继承 QObject
继承于

QGrpcBidiStream,QGrpcCallReply,QGrpcClientStream, 以及QGrpcServerStream

公共函数

virtual ~QGrpcOperation() override
bool isFinished() const
const QHash<QByteArray, QByteArray> &metadata() const &
QLatin1StringView method() const
std::optional<T> read() const
(since 6.8) bool read(QProtobufMessage *message) const
QMetaType responseMetaType() const

公共插槽

void cancel()

信号

void finished(const QGrpcStatus &status)

详细说明

QGrpcOperation 是以下四种方法类型的基类 gRPC方法类型的基类:QGrpcCallReply (一元调用)、QGrpcServerStream (服务器流)、QGrpcClientStream (客户端流)和QGrpcBidiStream (双向流)。它提供了与这些远程过程调用(RPC)交互的通用接口。

每个 QGrpcOperation 都对应于通过生成的客户端接口请求的特定 RPC。

有关高级概述,请参阅Qt GRPC Client Guide

成员函数文档

[override virtual noexcept] QGrpcOperation::~QGrpcOperation()

摧毁QGrpcOperation.

[slot] void QGrpcOperation::cancel()

尝试立即取消 RPC。不能保证成功取消。发出finished 信号,状态代码为Cancelled

另请参阅 QGrpcOperationContext::cancelRequested

[signal] void QGrpcOperation::finished(const QGrpcStatus &status)

该信号在先前启动的 RPC 结束时发出。status 会提供有关 RPC 结果的附加信息。

收到该信号后,就不能再对操作对象执行写或读操作了。此时,重用或销毁 RPC 对象是安全的。

注意: 此信号只发出一次,在大多数情况下,您会希望在收到此信号后立即断开连接,以避免出现问题,例如在收到信号后没有销毁 lambda 捕捉。实现这一点的简单方法是使用SingleShotConnection 连接类型。更多详情,请参阅单次 RPC

[noexcept] bool QGrpcOperation::isFinished() const

如果该操作已完成,则返回 true,这意味着在相应的 RPC 上不能再进行其他操作,否则返回 false。

[noexcept] const QHash<QByteArray, QByteArray> &QGrpcOperation::metadata() const &

返回从频道接收到的服务器元数据。

注: 对于HTTP/2 channels ,它通常包括从服务器接收到的 HTTP 头信息。

[noexcept] QLatin1StringView QGrpcOperation::method() const

返回与此 RPC 操作相关的方法名称。

template <typename T, QtProtobuf::if_protobuf_message<T> = true> std::optional<T> QGrpcOperation::read() const

从存储在此操作对象中的原始字节数组中读取一条信息。

返回一条可选的反序列化信息。如果失败,则返回std::nullopt

注意: 只有当TQProtobufMessage 的子类时,该函数才会参与重载解析。

另请参阅 read(QProtobufMessage *)。

[since 6.8] bool QGrpcOperation::read(QProtobufMessage *message) const

从存储在此操作对象中的原始字节数组中读取信息。

该函数将反序列化值写入message 指针。

如果反序列化成功,该函数将返回true 。否则,返回false

此函数在 Qt 6.8 中引入。

另请参阅 read()。

QMetaType QGrpcOperation::responseMetaType() const

返回 RPC 响应信息的元类型。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.