QtGrpc Namespace
QtGrpc 命名空间包含 QtGrpc 库中各处使用的各种标识符。更多内容...
| 头文件: | #include <QtGrpcNamespace> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
| 自: | Qt 6.5 |
类
(since 6.10) struct | MultiValue_t |
(since 6.11) struct | RpcDescriptor |
类型
(since 6.12) enum class | CompressionAlgorithm { Identity, Deflate, Gzip } |
| flags | CompressionAlgorithms |
(since 6.11) flags | InterceptorCapabilities |
(since 6.11) enum class | InterceptorCapability { Start, InitialMetadata, MessageReceived, WriteMessage, WritesDone, …, Cancel } |
(since 6.11) enum class | RpcType { UnaryCall, ServerStreaming, ClientStreaming, BidiStreaming } |
| enum class | SerializationFormat { Default, Protobuf, Json } |
| enum class | StatusCode { Ok, Cancelled, InvalidArgument, DeadlineExceeded, NotFound, …, Unauthenticated } |
变量
(since 6.10) const struct QtGrpc::MultiValue_t | MultiValue |
类
类MultiValue_t
用于访问QMultiHash 元数据的标记类型。更多...
类RpcDescriptor
描述了一个 gRPC 方法,包括其服务名称、方法名称和 RPC 类型。更多...
类型文档
[since 6.12] enum class QtGrpc::CompressionAlgorithm
flags QtGrpc::CompressionAlgorithms
列出了 gRPC 消息支持的压缩算法。
HTTP/2 channel 会在grpc-accept-encoding 请求头中声明所选算法,并通过setRequestCompression()发送使用所选算法压缩的出站消息。
| 常量 | 值 | 描述 |
|---|---|---|
QtGrpc::CompressionAlgorithm::Identity | 0x01 | 不进行压缩。由于 gRPC 规范要求必须接受未压缩的消息,因此该选项始终包含在可接受的集合中。 |
QtGrpc::CompressionAlgorithm::Deflate | 0x02 | deflate 的压缩算法。 |
QtGrpc::CompressionAlgorithm::Gzip | 0x04 | gzip 压缩算法。 |
该枚举在 Qt 6.12 中引入。
CompressionAlgorithms 类型是QFlags<CompressionAlgorithm> 的 typedef。它存储 CompressionAlgorithm 值的按“或”运算组合。
另请参阅 QGrpcChannelOptions::setAcceptedCompressionAlgorithms()、QGrpcChannelOptions::supportedCompressionAlgorithms()、QGrpcChannelOptions::setRequestCompression() 以及QGrpcCallOptions::setRequestCompression()。
[since 6.11] enum class InterceptorCapability
[since 6.11] flags InterceptorCapabilities
指定拦截器支持的拦截挂钩点。
Qt GRPC 使用 InterceptorCapability 值来描述拦截器提供了哪些拦截挂钩点。
一个拦截器类可以实现多个拦截器接口(例如,QGrpcStartInterceptor 和QGrpcFinishedInterceptor ),因此支持多种功能。
| 常量 | 值 | 描述 |
|---|---|---|
InterceptorCapability::Start | 0x01 | 该拦截器实现了QGrpcStartInterceptor 。 |
InterceptorCapability::InitialMetadata | 0x02 | 该拦截器实现了QGrpcInitialMetadataInterceptor 。该拦截器实现了 。 |
InterceptorCapability::MessageReceived | 0x04 | 该拦截器实现了QGrpcMessageReceivedInterceptor 。 |
InterceptorCapability::WriteMessage | 0x08 | 该拦截器实现了QGrpcWriteMessageInterceptor 。 |
InterceptorCapability::WritesDone | 0x10 | 该拦截器实现了QGrpcWritesDoneInterceptor 。 |
InterceptorCapability::TrailingMetadata | 0x20 | 该拦截器实现了QGrpcTrailingMetadataInterceptor 。 |
InterceptorCapability::Finished | 0x40 | 该拦截器实现了QGrpcFinishedInterceptor 。 |
InterceptorCapability::Cancel | 0x80 | 该拦截器实现了QGrpcCancelInterceptor 。 |
该枚举在 Qt 6.11 中引入。
InterceptorCapabilities 类型是QFlags<InterceptorCapability> 的 typedef。它存储了 InterceptorCapability 值的“或”组合。
[since 6.11] enum class QtGrpc::RpcType
描述 RPC(远程过程调用)的类型。
此枚举指定了 gRPC 方法所使用的通信模式。
| 常量 | 值 | 描述 |
|---|---|---|
QtGrpc::RpcType::UnaryCall | 0 | 使用QGrpcCallReply 处理程序。 |
QtGrpc::RpcType::ServerStreaming | 1 | 使用QGrpcServerStream 处理程序。 |
QtGrpc::RpcType::ClientStreaming | 2 | 使用QGrpcClientStream 处理程序。 |
QtGrpc::RpcType::BidiStreaming | 3 | 使用QGrpcBidiStream 处理程序。 |
该枚举在 Qt 6.11 中引入。
另请参阅 QtGrpc::RpcDescriptor 。
enum class QtGrpc::SerializationFormat
包含用于设置 Protobuf 序列化器格式的预设值。
| 常量 | 值 | 描述 |
|---|---|---|
QtGrpc::SerializationFormat::Default | 0 | 默认的QGrpcSerializationFormat 预设。该预设会构建一个内容类型后缀为空的QProtobufSerializer 。 |
QtGrpc::SerializationFormat::Protobuf | 1 | 嵌入式 ProtobufQGrpcSerializationFormat 预设。此预设会构建一个内容类型后缀为proto 的QProtobufSerializer 。 |
QtGrpc::SerializationFormat::Json | 2 | 嵌入式 JSONQGrpcSerializationFormat 预设。该预设构建一个内容类型后缀为json 的QProtobufJsonSerializer 。 |
另请参阅 QGrpcSerializationFormat 。
enum class QtGrpc::StatusCode
通道的状态代码。
| 常量 | 值 | 描述 |
|---|---|---|
QtGrpc::StatusCode::Ok | 0 | 无错误 |
QtGrpc::StatusCode::Cancelled | 1 | 操作被取消,通常是由调用方取消的。 |
QtGrpc::StatusCode::InvalidArgument | 3 | 客户端指定了无效的参数, |
QtGrpc::StatusCode::DeadlineExceeded | 4 | 操作未完成前超时, |
QtGrpc::StatusCode::NotFound | 5 | 未找到某些请求的实体(例如文件或目录)。 |
QtGrpc::StatusCode::AlreadyExists | 6 | 客户端尝试创建的实体(例如文件或目录)已存在。 |
QtGrpc::StatusCode::PermissionDenied | 7 | 调用方无权执行指定的操作。PermissionDenied 不得用于表示因资源耗尽而导致的拒绝(对于此类错误,请改用ResourceExhausted )。PermissionDenied 不得用于调用方无法被识别的情况(对于此类错误,请改用Unauthenticated )。 此错误代码并不意味着请求是有效的,也不意味着所请求的实体存在或满足其他先决条件。 |
QtGrpc::StatusCode::ResourceExhausted | 8 | 某些资源已耗尽,可能是每个用户的配额,也可能是整个文件系统已满。 |
QtGrpc::StatusCode::FailedPrecondition | 9 | 操作被拒绝,因为系统未处于执行该操作所需的状态。 |
QtGrpc::StatusCode::Aborted | 10 | 操作被中止,通常是由于并发问题,例如排序器检查失败或事务中止。 |
QtGrpc::StatusCode::OutOfRange | 11 | 操作尝试超出了有效范围。 |
QtGrpc::StatusCode::Unimplemented | 12 | 该操作未实现,或者在此服务中不受支持/未启用。 |
QtGrpc::StatusCode::Internal | 13 | 这意味着底层系统预期的某些不变量已被破坏。 |
QtGrpc::StatusCode::Unavailable | 14 | 该服务目前不可用。这很可能是暂时的状况,可以通过延时重试来纠正。请注意,重试非幂等操作并不总是安全的。 |
QtGrpc::StatusCode::DataLoss | 15 | 不可恢复的数据丢失或损坏。 |
QtGrpc::StatusCode::Unauthenticated | 16 | 该请求没有该操作的有效身份验证凭据。 |
另请参阅 gRPC 状态码。
可变文档
[since 6.10] const struct QtGrpc::MultiValue_t QtGrpc::MultiValue
用于访问QMultiHash 元数据的标签。
该变量在 Qt 6.10 中引入。
另请参阅 QGrpcChannelOptions::metadata(QtGrpc::MultiValue_t) 和QGrpcCallOptions::metadata(QtGrpc::MultiValue_t)。
© 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.