QGrpcClientInterceptorManager 类
管理 QGrpcClientInterceptor 拦截器。更多...
头文件 | #include <QGrpcClientInterceptorManager> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
自 | Qt 6.7 |
状态 | 技术预览 |
公共函数
QGrpcClientInterceptorManager() | |
~QGrpcClientInterceptorManager() | |
void | registerInterceptor(std::shared_ptr<QGrpcClientInterceptor> next) |
void | registerInterceptors(std::vector<std::shared_ptr<QGrpcClientInterceptor>> nextInterceptors) |
void | run(QGrpcInterceptorContinuation<T> &finalCall, typename QGrpcInterceptorContinuation<T>::ReplyType response, std::shared_ptr<QGrpcChannelOperation> operation, size_t pos = 0) |
详细描述
QGrpcClientInterceptorManager 类提供了注册和执行 QGrpcClientInterceptor 拦截器的方法。
另请参阅Qt GRPC 客户端拦截器。
成员函数文档
QGrpcClientInterceptorManager::QGrpcClientInterceptorManager()
默认构造函数,创建 QGrpcClientInterceptorManager 对象。
[noexcept]
QGrpcClientInterceptorManager::~QGrpcClientInterceptorManager()
默认析构函数,销毁 QGrpcClientInterceptorManager 对象。
void QGrpcClientInterceptorManager::registerInterceptor(std::shared_ptr<QGrpcClientInterceptor> next)
注册一个 QGrpcClientInterceptor 拦截器。
将 next 拦截器放置在拦截器链的开始位置。拦截器按注册的相反顺序执行。例如,
manager.registerInterceptor(myInterceptor1); manager.registerInterceptor(myInterceptor2);
将导致
myInterceptor2 -> myInterceptor1 -> Qt GRPC operation
执行顺序。
void QGrpcClientInterceptorManager::registerInterceptors(std::vector<std::shared_ptr<QGrpcClientInterceptor>> nextInterceptors)
注册多个 QGrpcClientInterceptor 拦截器。
将给定的拦截器添加到拦截器链的开头。虽然执行是按注册的相反顺序执行的,但 nextInterceptors 向量中的原始顺序被保留,例如
manager.registerInterceptor(myInterceptor1); manager.registerInterceptors({myInterceptor2, myInterceptor3});
将导致
myInterceptor2 -> myInterceptor3 -> myInterceptor1 -> Qt GRPC operation
执行顺序。
模板 <typename T> void QGrpcClientInterceptorManager::run(QGrpcInterceptorContinuation<T> &finalCall, typename QGrpcInterceptorContinuation<T>::ReplyType response, std::shared_ptr<QGrpcChannelOperation> operation, size_t pos = 0)
执行特定 QGrpcOperation 类型的 Qt GRPC 拦截器链。
过程从位于 QGrpcClientInterceptor 链位置 pos 的拦截器开始。都将 response 和 operation 参数传递给 QGrpcClientInterceptor::intercept() 方法。当达到拦截器链的末尾时,调用 finalCall。
© 2024 Qt 公司。此处包含的文档贡献归各自所有者所有。提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可版本 1.3 的条款许可的。Qt 及相关标志是芬兰及/或其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者所有。