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 が返されます。

注意: この関数は、TQProtobufMessage のサブクラスである場合にのみ、オーバーロード解決に参加します。

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。