QGrpcStartInterceptor Class
RPCの開始をインターセプトします。詳細...
| ヘッダー: | #include <QGrpcInterceptor> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
| 以下より: | Qt 6.11 |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QGrpcStartInterceptorは、Qt GRPC のインターセプタの一部です。
注:このクラスのすべての関数は再入可能です。
パブリック型
(since 6.11) enum class | Continuation { Proceed, Drop } |
パブリック関数
| virtual | ~QGrpcStartInterceptor() |
| virtual QGrpcStartInterceptor::Continuation | onStart(QGrpcInterceptionContext &context, QProtobufMessage &message, QGrpcCallOptions &callOptions) = 0 |
詳細な説明
QGrpcStartInterceptor を実装して、RPC の開始時に使用されるパラメータを監視または調整します。
インターセプタは、RPC ごとに 1 回、呼び出しが実行される前に呼び出されます。
インターセプトの仕組みや、インターセプタインターフェースが RPC のライフサイクルにどのように関与するかについての概要については、『Qt GRPC インターセプタの概要』を参照してください。
注:この インターセプタは 、アウトバウンド方向で動作します。複数のインターセプタ・コールバックがチェーン内をどのように流れるかについての詳細は、「方向とフロー」のセクションを参照してください。
「 QtGrpc::InterceptorCapability::Start 」および「QGrpcInterceptionContext 」も参照してください 。
メンバ型のドキュメント
[since 6.11] enum class QGrpcStartInterceptor::Continuation
インターセプトされたRPCの実行を続行するかどうかを制御します。
| 定数 | 値 | 説明 |
|---|---|---|
QGrpcStartInterceptor::Continuation::Proceed | 0 | 呼び出しを続行します。 |
QGrpcStartInterceptor::Continuation::Drop | 1 | 呼び出しを中止します。 |
この列挙型は Qt 6.11 で導入されました。
メンバ関数のドキュメント
[virtual noexcept] QGrpcStartInterceptor::~QGrpcStartInterceptor()
インターセプターを撃破する。
[pure virtual] QGrpcStartInterceptor::Continuation QGrpcStartInterceptor::onStart(QGrpcInterceptionContext &context, QProtobufMessage &message, QGrpcCallOptions &callOptions)
RPCが開始されようとしたときに呼び出されます。
context は、インターセプトされたRPCに関する情報を提供します。
message には初期のリクエストメッセージが含まれており、その場で変更することができます。
callOptions を変更して、呼び出しごとの設定を調整することができます。
RPC を続行するには `Continuation::Proceed ` を返し、処理を中断するには `Continuation::Drop ` を返します。
Continuation::Drop が返された場合、RPC は中止され、操作はfinished() に移行します。結果のステータスコードはAborted になります。QGrpcFinishedInterceptor を実装するインターセプタは、引き続き呼び出されます。
注: 可変の callOptions は 、context.callOptions() によって返されるのと同じ呼び出しオプションのインスタンスを指します。
© 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.