QGrpcClientInterceptorManager 类

管理 QGrpcClientInterceptor 拦截器。更多...

头文件 #include <QGrpcClientInterceptorManager>
CMakefind_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
Qt 6.7
状态技术预览

公共函数

QGrpcClientInterceptorManager()
~QGrpcClientInterceptorManager()
voidregisterInterceptor(std::shared_ptr<QGrpcClientInterceptor> next)
voidregisterInterceptors(std::vector<std::shared_ptr<QGrpcClientInterceptor>> nextInterceptors)
voidrun(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 的拦截器开始。都将 responseoperation 参数传递给 QGrpcClientInterceptor::intercept() 方法。当达到拦截器链的末尾时,调用 finalCall

© 2024 Qt 公司。此处包含的文档贡献归各自所有者所有。提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可版本 1.3 的条款许可的。Qt 及相关标志是芬兰及/或其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者所有。