QGrpcOperation Class
QGrpcOperationクラスは、クライアント側からのgRPC通信を処理するための共通ロジックを実装しています。詳細...
Header: | #include <QGrpcOperation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
Since: | Qt 6.5 |
Inherits: | QObject |
Inherited By: | QGrpcBidiStream, QGrpcCallReply, QGrpcClientStream, and QGrpcServerStream |
パブリック関数
bool | isFinished() const |
const QHash<QByteArray, QByteArray> & | metadata() const & |
QLatin1StringView | method() const |
std::optional<T> | read() const |
(since 6.8) bool | read(QProtobufMessage *message) const |
パブリック・スロット
void | cancel() |
シグナル
void | finished(const QGrpcStatus &status) |
メンバー関数ドキュメント
[slot]
void QGrpcOperation::cancel()
T.B.A
[signal]
void QGrpcOperation::finished(const QGrpcStatus &status)
このシグナルは、この呼び出しの通信の終了を示す。
このシグナルが発せられると、それぞれのオペレーションがstatus で終了したことになる。
注意: このシグナルは一度だけ発せられます。ほとんどの場合、シグナルを受け取った後ラムダ・キャプチャが破棄されないなどの問題を避けるために、シグナルを受け取った直後に切断したいでしょう。これを実現する簡単な方法は、Qt::SingleShotConnection ConnectionType を使うことです。
[noexcept]
bool QGrpcOperation::isFinished() const
QGrpcOperation がワークフローを終了した場合、つまり終了、キャンセル、エラーが発生した場合は true を返し、そうでない場合は false を返します。
[noexcept]
const QHash<QByteArray, QByteArray> &QGrpcOperation::metadata() const &
チャネルから受け取ったメタデータのゲッター。HTTP2 チャネルの場合、通常はサーバから受け取った HTTP ヘッダが含まれます。
[noexcept]
QLatin1StringView QGrpcOperation::method() const
この操作が初期化されたメソッドのゲッター。
template <typename T, QtProtobuf::if_protobuf_message<T> = true> std::optional<T> QGrpcOperation::read() const
このQGrpcOperation インスタンス内に格納されている生のバイト配列からメッセージを読み込みます。
オプションで、デシリアライズされたメッセージを返します。失敗すると、std::nullopt
が返されます。
注意: この関数は、T
がQProtobufMessage のサブクラスである場合にのみ、オーバーロード解決に参加します。
readも参照してください 。
[since 6.8]
bool QGrpcOperation::read(QProtobufMessage *message) const
このQGrpcOperation インスタンス内に格納されている生のバイト配列からメッセージを読み込みます。
この関数は、デシリアライズされた値をmessage ポインタに書き込みます。
デシリアライズに成功した場合、この関数はtrue
を返します。そうでない場合は、false
を返します。
この関数は Qt 6.8 で導入されました。
readも参照してください 。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。