QGrpcCallOptions Class

QGrpcCallOptionsクラスは、個々のRPCを微調整するための様々なオプションを提供します。詳細...

ヘッダー #include <QGrpcCallOptions>
CMake: find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
以来:Qt 6.6
QMLでは GrpcCallOptions

パブリック関数

QGrpcCallOptions()
QGrpcCallOptions(const QGrpcCallOptions &other)
QGrpcCallOptions(QGrpcCallOptions &&other)
~QGrpcCallOptions()
(since 6.10) QGrpcCallOptions &addMetadata(QByteArrayView key, QByteArrayView value)
std::optional<std::chrono::milliseconds> deadlineTimeout() const
(since 6.11) std::optional<bool> filterServerMetadata() const
(until 6.13) QHash<QByteArray, QByteArray> metadata() &&
(until 6.13) const QHash<QByteArray, QByteArray> &metadata() const &
(since 6.10) QMultiHash<QByteArray, QByteArray> metadata(QtGrpc::MultiValue_t) &&
(since 6.10) const QMultiHash<QByteArray, QByteArray> &metadata(QtGrpc::MultiValue_t) const &
QGrpcCallOptions &setDeadlineTimeout(std::chrono::milliseconds timeout)
(since 6.11) QGrpcCallOptions &setFilterServerMetadata(bool value)
(until 6.13) QGrpcCallOptions &setMetadata(QHash<QByteArray, QByteArray> &&metadata)
(since 6.10) QGrpcCallOptions &setMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)
(until 6.13) QGrpcCallOptions &setMetadata(const QHash<QByteArray, QByteArray> &metadata)
(since 6.10) QGrpcCallOptions &setMetadata(const QMultiHash<QByteArray, QByteArray> &metadata)
(since 6.10) QGrpcCallOptions &setMetadata(std::initializer_list<std::pair<QByteArray, QByteArray>> metadata)
(since 6.8) void swap(QGrpcCallOptions &other)
(since 6.8) QVariant operator QVariant() const
QGrpcCallOptions &operator=(QGrpcCallOptions &&other)
QGrpcCallOptions &operator=(const QGrpcCallOptions &other)
(since 6.8) QDebug operator<<(QDebug debug, const QGrpcCallOptions &callOpts)

詳細説明

QGrpcCallOptionsを使用すると、個々のリモート・プロシージャ・コール(RPC)をカスタマイズできます。生成されたクライアント・インターフェースはQGrpcCallOptionsを渡すためのアクセス・ポイントを提供します。これらのオプションは、QGrpcChannelOptions を介して設定されるものより優先されます。

RPCで共有されるデフォルト・オプションを設定するには、QGrpcChannelOptions を使用してください。

QGrpcCallOptionscallOpts;// 個々のRPCのメタデータを設定callOpts.setMetadata({"header" , "value1"},{"header" , "value2"},});const auto &md =callOpts.metadata(QtGrpc::MultiValue);qDebug() << "Call Metadata: " << md;

// 個々のRPCcallOpts.setDeadlineTimeout(2s)に2秒間の期限を設定する;qDebug() << "Call timeout: " << callOpts.deadlineTimeout();

メンバー関数ドキュメント

[until 6.13] QHash<QByteArray, QByteArray> QGrpcCallOptions::metadata() &&

[noexcept, until 6.13] const QHash<QByteArray, QByteArray> &QGrpcCallOptions::metadata() const &

この関数はバージョン6.13で非推奨となる予定です。

代わりにQMultiHash オーバーロードを使用してください。

メタデータを返します。このフィールドが設定されていない場合は、空のメタデータを返します。

注意: QGrpcHttp2Channel はメタデータを HTTP/2 ヘッダーとして転送します。キーは大文字小文字を区別しないASCII文字列である。: (擬似ヘッダー)、grpc- 、またはqtgrpc- という内部接頭辞の使用は避けなければなりません。値はASCII 文字列またはバイナリデータです。詳細はRFC 7540のセクション8.1.2を参照。

setMetadata()も参照のこと

[until 6.13] QGrpcCallOptions &QGrpcCallOptions::setMetadata(QHash<QByteArray, QByteArray> &&metadata)

[until 6.13] QGrpcCallOptions &QGrpcCallOptions::setMetadata(const QHash<QByteArray, QByteArray> &metadata)

この関数はバージョン6.13で非推奨となる予定です。

代わりにQMultiHash オーバーロードを使用してください。

metadata を設定し、更新されたオブジェクトへの参照を返します。

注意: QGrpcHttp2Channel はメタデータを HTTP/2 ヘッダーとして転送します。キーは大文字小文字を区別しない ASCII 文字列です。: (擬似ヘッダー)、grpc- 、またはqtgrpc- という内部接頭辞の使用は避けなければなりません。値はASCII 文字列またはバイナリデータです。詳細については、RFC 7540のセクション8.1.2を参照のこと。

注: 呼のメタデータは、RPC の開始時にチャネルレベルのメタデータ とマージされる -QGrpcChannelOptions::setMetadata(QMultiHash)を参照のこと。

metadata()も参照のこと

[since 6.10] QMultiHash<QByteArray, QByteArray> QGrpcCallOptions::metadata(QtGrpc::MultiValue_t) &&

[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcCallOptions::metadata(QtGrpc::MultiValue_t) const &

メタデータを返す。このフィールドが設定されていない場合は、空のメタデータを返します。

注意: QGrpcHttp2Channel はメタデータを HTTP/2 ヘッダーとして転送します。キーは大文字小文字を区別しないASCII文字列です。: (擬似ヘッダー)、grpc- 、またはqtgrpc- という内部接頭辞の使用は避けなければなりません。値はASCII 文字列またはバイナリデータです。詳細はRFC 7540のセクション8.1.2を参照のこと。キーごとに複数の値がサポートされています。

const auto &md = opts.metadata(QtGrpc::MultiValue);

この関数は Qt 6.10 で導入されました。

setMetadataも参照してください

[since 6.10] QGrpcCallOptions &QGrpcCallOptions::setMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)

[since 6.10] QGrpcCallOptions &QGrpcCallOptions::setMetadata(const QMultiHash<QByteArray, QByteArray> &metadata)

[since 6.10] QGrpcCallOptions &QGrpcCallOptions::setMetadata(std::initializer_list<std::pair<QByteArray, QByteArray>> metadata)

metadata を設定し、更新されたオブジェクトへの参照を返す。

注: QGrpcHttp2Channel はメタデータを HTTP/2 ヘッダーとして転送します。キーは大文字小文字を区別しない ASCII 文字列です。: (擬似ヘッダー)、grpc- 、またはqtgrpc- という内部接頭辞の使用は避けなければなりません。値はASCII 文字列またはバイナリデータです。詳細はRFC 7540のセクション8.1.2を参照のこと。1つのキーに複数の値を指定できる。

注: コール・メタデータは、RPC の開始時にチャネル・レ ベルのメタデータとマージされます -QGrpcChannelOptions::setMetadata(QMultiHash) を参照。

この関数は Qt 6.10 で導入されました。

metadata(QtGrpc::MultiValue_t)も参照してください

QGrpcCallOptions::QGrpcCallOptions()

Default-空の QGrpcCallOptions を構築します。

QGrpcCallOptions::QGrpcCallOptions(const QGrpcCallOptions &other)

other から QGrpcCallOptions をコピー構築する。

[noexcept] QGrpcCallOptions::QGrpcCallOptions(QGrpcCallOptions &&other)

移動-other から新しい QGrpcCallOptions を構築する。

注: 移動元のオブジェクトother は、部分的に形成された状態に置かれ、その中で有効な操作は破壊と新しい値の割り当てだけである。

[noexcept] QGrpcCallOptions::~QGrpcCallOptions()

QGrpcCallOptions を破壊する。

[since 6.10] QGrpcCallOptions &QGrpcCallOptions::addMetadata(QByteArrayView key, QByteArrayView value)

完全なペアがまだ含まれていなければ、metadatakeyvalue を追加する。同じキーが異なる値で複数回現れることがある。

注意: QGrpcHttp2Channel はメタデータを HTTP/2 ヘッダーとして転送する。キーは大文字小文字を区別しないASCII文字列である。: (擬似ヘッダ)、grpc- 、またはqtgrpc- という内部接頭辞の使用は避けなければなりません。値はASCII 文字列またはバイナリデータです。詳細については、RFC 7540のセクション8.1.2を参照のこと。

注意: コールメタデータは、RPC が開始されたときに、チャネルレベルのメタデータとマージされます -QGrpcChannelOptions::addMetadata() を参照してください。

この関数は Qt 6.10 で導入されました。

metadata() およびsetMetadata()も参照して ください。

[noexcept] std::optional<std::chrono::milliseconds> QGrpcCallOptions::deadlineTimeout() const

RPC のデッドラインの計算に使用されるタイムアウト時間を返す。

このフィールドが設定されていない場合、空のstd::optional を返します。

setDeadlineTimeout()も参照のこと

[noexcept, since 6.11] std::optional<bool> QGrpcCallOptions::filterServerMetadata() const

プロトコル関連のサーバーメタデータを結果から除外する場合はtrue を返す。サーバから受け取ったすべてのメタデータを含める場合はfalse を返す。

このフィールドが設定されていない場合は、空のstd::optional を返します。

この関数は Qt 6.11 で導入されました。

setFilterServerMetadata() およびQGrpcChannelOptions::filterServerMetadata()も参照してください

QGrpcCallOptions &QGrpcCallOptions::setDeadlineTimeout(std::chrono::milliseconds timeout)

timeout を設定し、更新されたオブジェクトへの参照を返す。

デッドラインは、クライアントがサーバーからの応答を待つことができる時間の制限を設定します。実際のデッドラインは、RPCの開始時刻にtimeout を加算して計算される。

デッドラインは RPC の全ライフタイムに適用される。これには、以前に開始された呼の最終的なQGrpcStatus を受信することも含まれるため、(長寿命の) ストリームでは不要となる可能性がある。

注意: このフィールドを設定すると、対応するチャネルオプションフィールドがオーバーライドされる -QGrpcChannelOptions::setDeadlineTimeout() を参照。

deadlineTimeout()も参照

[since 6.11] QGrpcCallOptions &QGrpcCallOptions::setFilterServerMetadata(bool value)

valuetrue の場合、gRPCトランスポートで定義されたプロトコル関連のメタデータ(予約されたgrpc- キーなど)は除外される。valuefalse の場合、サーバから受信したすべてのメタデータが含まれる。

*/ voidQGrpcCommonOptions::setFilterServerMetadata(bool value) { m_filterServerMetadata = value; }.

qt_end_namespace

注意: このフィールドを設定すると、対応するチャンネル・オプション・フィールドがオーバーライドされます -QGrpcChannelOptions::setFilterServerMetadata() を参照してください。

この関数は Qt 6.11 で導入されました。

filterServerMetadata() とQGrpcChannelOptions::setFilterServerMetadata()も参照して ください。

[noexcept, since 6.8] void QGrpcCallOptions::swap(QGrpcCallOptions &other)

other をこのオブジェクトと交換する。この操作は非常に高速で、失敗することはありません。

この関数は Qt 6.8 で導入されました。

[since 6.8] QVariant QGrpcCallOptions::operator QVariant() const

このオブジェクトから新しいQVariant を構築します。

この関数は Qt 6.8 で導入されました。

[noexcept] QGrpcCallOptions &QGrpcCallOptions::operator=(QGrpcCallOptions &&other)

Move-assignother をこのQGrpcCallOptions に割り当て、更新されたオブジェクトへの参照を返す。

注: 移動元のオブジェクトother は、部分的に形成された状態に置かれる。この状態では、有効な操作は破壊と新しい値の割り当てのみである。

QGrpcCallOptions &QGrpcCallOptions::operator=(const QGrpcCallOptions &other)

このQGrpcCallOptionsother を割り当て、更新されたオブジェクトへの参照を返します。

関連する非会員

[since 6.8] QDebug operator<<(QDebug debug, const QGrpcCallOptions &callOpts)

callOpts を指定されたストリームdebug に書き込みます。

この関数は Qt 6.8 で導入されました。

© 2025 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.