本页内容

QAbstractGrpcChannel Class

QAbstractGrpcChannel 类提供了一个用于实现 gRPC™ 操作的传输层。更多内容...

头文件: #include <QAbstractGrpcChannel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
自: Qt 6.5
由以下版本继承:

QGrpcHttp2Channel

公共函数

virtual ~QAbstractGrpcChannel()
const QGrpcChannelOptions &channelOptions() const &
virtual std::shared_ptr<QAbstractProtobufSerializer> serializer() const = 0
(since 6.8) void setChannelOptions(QGrpcChannelOptions &&options)
(since 6.8) void setChannelOptions(const QGrpcChannelOptions &options)

受保护函数

QAbstractGrpcChannel()
QAbstractGrpcChannel(const QGrpcChannelOptions &options)

私有函数

(since 6.7) virtual void bidiStream(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0
(since 6.7) virtual void call(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0
(since 6.7) virtual void clientStream(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0
(since 6.7) virtual void serverStream(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0

详细说明

实现此接口以创建用于 gRPC™ 传输。QGrpcHttp2Channel 类作为QAbstractGrpcChannel的完整实现,用于HTTP/2通信。

另请参阅 QGrpcChannelOptions 和QGrpcHttp2Channel 。

成员函数文档

[protected] QAbstractGrpcChannel::QAbstractGrpcChannel()

默认构造 QAbstractGrpcChannel 对象。

[explicit protected] QAbstractGrpcChannel::QAbstractGrpcChannel(const QGrpcChannelOptions &options)

使用指定的options 来构造QAbstractGrpcChannel。

[virtual noexcept] QAbstractGrpcChannel::~QAbstractGrpcChannel()

销毁QAbstractGrpcChannel 。

[pure virtual private, since 6.7] void QAbstractGrpcChannel::bidiStream(QGrpcOperationContext *operationContext, QByteArray &&messageData)

当用户通过生成的客户端接口启动新的 RPC 时,将调用此纯虚函数。应使用 `operationContext ` 与相应的 RPC 处理程序进行通信,该处理程序是 `QGrpcOperation ` 对象的派生类型。

该函数应使用序列化的messageData 在通道端启动相应的RPC。其实现必须是异步的,且不得阻塞调用线程。

注意: 支持并限制其 RPC 类型允许的功能子集是 通道的责任。

该函数在 Qt 6.7 中引入。

[pure virtual private, since 6.7] void QAbstractGrpcChannel::call(QGrpcOperationContext *operationContext, QByteArray &&messageData)

当用户通过生成的客户端接口启动新的 RPC 时,将调用此纯虚拟函数。应使用 `operationContext ` 与相应的 RPC 处理程序进行通信,该处理程序是 `QGrpcOperation ` 对象的派生类型。

该函数应使用序列化的messageData 在通道端启动相应的RPC。实现必须是异步的,且不得阻塞调用线程。

注意: 支持并限制其 RPC 类型所允许的功能子集是 通道的责任。

该函数于 Qt 6.7 中引入。

[noexcept] const QGrpcChannelOptions &QAbstractGrpcChannel::channelOptions() const &

返回该通道所使用的选项。

另请参阅 setChannelOptions 。

[pure virtual private, since 6.7] void QAbstractGrpcChannel::clientStream(QGrpcOperationContext *operationContext, QByteArray &&messageData)

当用户通过生成的客户端接口启动新的 RPC 时,将调用此纯虚拟函数。应使用operationContext 与相应的 RPC 处理程序进行通信,该处理程序是QGrpcOperation 对象的派生类型。

该函数应使用序列化的messageData 在通道端启动相应的RPC。实现必须是异步的,且不得阻塞调用线程。

注意: 支持并限制其 RPC 类型允许的功能子集是 通道的责任。

该函数在 Qt 6.7 中引入。

[pure virtual] std::shared_ptr<QAbstractProtobufSerializer> QAbstractGrpcChannel::serializer() const

此纯虚拟函数用于获取用于消息序列化和反序列化的QAbstractProtobufSerializer 。

[pure virtual private, since 6.7] void QAbstractGrpcChannel::serverStream(QGrpcOperationContext *operationContext, QByteArray &&messageData)

当用户通过生成的客户端接口启动新的 RPC 时,将调用此纯虚拟函数。应使用 `operationContext ` 与相应的 RPC 处理程序进行通信,该处理程序是 `QGrpcOperation ` 对象的派生类型。

该函数应使用序列化的messageData 在通道端启动相应的 RPC。实现必须是异步的,且不得阻塞调用线程。

注意: 支持并限制其 RPC 类型允许的功能子集是 通道的责任。

该函数在 Qt 6.7 中引入。

[since 6.8] void QAbstractGrpcChannel::setChannelOptions(QGrpcChannelOptions &&options)

[since 6.8] void QAbstractGrpcChannel::setChannelOptions(const QGrpcChannelOptions &options)

设置信道options 。

注意: 更新的通道选项 不会影响当前活动的调用或流。修订后的选项仅适用于通过此通道发起的新 RPC 调用。

这些函数在 Qt 6.8 中引入。

另请参阅 channelOptions 。

© 2026 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.