QGrpcCallOptions Class
Die Klasse QGrpcCallOptions bietet verschiedene Optionen zur Feinabstimmung einzelner RPCs. Mehr...
Kopfzeile: | #include <QGrpcCallOptions> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
Seit: | Qt 6.6 |
In QML: | GrpcCallOptions |
Öffentliche Funktionen
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) |
Verwandte Nicht-Mitglieder
(since 6.8) QDebug | operator<<(QDebug debug, const QGrpcCallOptions &callOpts) |
Detaillierte Beschreibung
Mit QGrpcCallOptions können Sie einzelne Remote Procedure Calls (RPCs) anpassen. Die generierte Client-Schnittstelle bietet Zugriffspunkte zur Übergabe der QGrpcCallOptions. Diese Optionen ersetzen die Optionen, die über QGrpcChannelOptions gesetzt werden.
Um die von RPCs gemeinsam genutzten Standardoptionen zu konfigurieren, verwenden Sie QGrpcChannelOptions.
QGrpcCallOptions callOpts;// Setzen der Metadaten für eine einzelne RPCcallOpts.setMetadata({ { "header" , "value1" },{ "header" , "value2" },});const auto &md = callOpts.metadata(QtGrpc::MultiValue);qDebug() << "Call Metadata: " << md; // Eine 2-Sekunden-Frist für einen einzelnen RPC-Aufruf festlegenOpts.setDeadlineTimeout(2s);qDebug() << "Call timeout: " << callOpts.deadlineTimeout();
Dokumentation der Mitgliederfunktionen
[until 6.13]
QHash<QByteArray, QByteArray> QGrpcCallOptions::metadata() &&
[noexcept, until 6.13]
const QHash<QByteArray, QByteArray> &QGrpcCallOptions::metadata() const &
Diese Funktion soll in Version 6.13 veraltet sein.
Verwenden Sie stattdessen die Überladung QMultiHash.
Gibt die Metadaten zurück. Wenn dieses Feld nicht gesetzt ist, werden leere Metadaten zurückgegeben.
Hinweis: QGrpcHttp2Channel transportiert die Metadaten als HTTP/2-Header. Die Schlüssel sind ASCII-Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung. Die Verwendung der internen Präfixe :
(Pseudo-Header), grpc-
oder qtgrpc-
ist zu vermeiden. Werte können entweder ASCII-Zeichenfolgen oder Binärdaten sein. Für weitere Informationen siehe RFC 7540, Abschnitt 8.1.2.
Siehe auch setMetadata().
[until 6.13]
QGrpcCallOptions &QGrpcCallOptions::setMetadata(QHash<QByteArray, QByteArray> &&metadata)
[until 6.13]
QGrpcCallOptions &QGrpcCallOptions::setMetadata(const QHash<QByteArray, QByteArray> &metadata)
Diese Funktion soll in Version 6.13 veraltet sein.
Verwenden Sie stattdessen die Überladung QMultiHash.
Setzt die metadata und gibt einen Verweis auf das aktualisierte Objekt zurück.
Hinweis: QGrpcHttp2Channel transportiert Metadaten als HTTP/2-Header. Die Schlüssel sind ASCII-Zeichenfolgen, bei denen die Groß- und Kleinschreibung keine Rolle spielt. Die Verwendung der internen Präfixe :
(Pseudo-Header), grpc-
oder qtgrpc-
ist zu vermeiden. Werte können entweder ASCII-Strings oder binäre Daten sein. Weitere Informationen finden Sie in RFC 7540, Abschnitt 8.1.2.
Hinweis: Aufruf-Metadaten werden mit allen Metadaten auf Kanalebene zusammengeführt, wenn der RPC startet - siehe QGrpcChannelOptions::setMetadata(QMultiHash).
Siehe auch 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 &
Gibt die Metadaten zurück. Wenn dieses Feld nicht gesetzt ist, werden leere Metadaten zurückgegeben.
Hinweis: QGrpcHttp2Channel transportiert die Metadaten als HTTP/2-Header. Die Schlüssel sind ASCII-Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung. Die Verwendung der internen Präfixe :
(Pseudo-Header), grpc-
oder qtgrpc-
ist zu vermeiden. Werte können entweder ASCII-Zeichenfolgen oder Binärdaten sein. Für weitere Informationen siehe RFC 7540, Abschnitt 8.1.2. Es werden mehrere Werte pro Schlüssel unterstützt.
const auto &md = opts.metadata(QtGrpc::MultiValue);
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch 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)
Setzt die metadata und gibt einen Verweis auf das aktualisierte Objekt zurück.
Hinweis: QGrpcHttp2Channel transportiert Metadaten als HTTP/2-Header. Die Schlüssel sind ASCII-Zeichenfolgen, bei denen die Groß- und Kleinschreibung keine Rolle spielt. Die Verwendung der internen Präfixe :
(Pseudo-Header), grpc-
oder qtgrpc-
ist zu vermeiden. Werte können entweder ASCII-Zeichenfolgen oder binäre Daten sein. Für weitere Informationen siehe RFC 7540, Abschnitt 8.1.2. Es werden mehrere Werte pro Schlüssel unterstützt.
Hinweis: Aufruf-Metadaten werden mit allen Metadaten auf Kanalebene zusammengeführt, wenn der RPC startet - siehe QGrpcChannelOptions::setMetadata(QMultiHash).
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch metadata(QtGrpc::MultiValue_t).
QGrpcCallOptions::QGrpcCallOptions()
Default-konstruiert ein leeres QGrpcCallOptions.
QGrpcCallOptions::QGrpcCallOptions(const QGrpcCallOptions &other)
Kopiert eine QGrpcCallOptions von other.
[noexcept]
QGrpcCallOptions::QGrpcCallOptions(QGrpcCallOptions &&other)
Move-konstruiert ein neues QGrpcCallOptions aus other.
Hinweis: Das verschobene Objekt other befindet sich in einem teilweise gebildeten Zustand, in dem die einzigen gültigen Operationen die Zerstörung und die Zuweisung eines neuen Wertes sind.
[noexcept]
QGrpcCallOptions::~QGrpcCallOptions()
Zerstört die QGrpcCallOptions.
[since 6.10]
QGrpcCallOptions &QGrpcCallOptions::addMetadata(QByteArrayView key, QByteArrayView value)
Fügt key und value zu metadata hinzu, wenn das exakte Paar nicht bereits enthalten ist. Derselbe Schlüssel kann mehrmals mit unterschiedlichen Werten vorkommen.
Hinweis: QGrpcHttp2Channel transportiert Metadaten als HTTP/2-Header. Die Schlüssel sind ASCII-Zeichenfolgen, bei denen die Groß- und Kleinschreibung keine Rolle spielt. Die Verwendung der internen Präfixe :
(Pseudo-Header), grpc-
oder qtgrpc-
ist zu vermeiden. Werte können entweder ASCII-Zeichenfolgen oder Binärdaten sein. Weitere Informationen finden Sie in RFC 7540, Abschnitt 8.1.2.
Hinweis: Aufruf-Metadaten werden mit allen Metadaten auf Kanalebene zusammengeführt, wenn der RPC startet - siehe QGrpcChannelOptions::addMetadata()
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch metadata() und setMetadata().
[noexcept]
std::optional<std::chrono::milliseconds> QGrpcCallOptions::deadlineTimeout() const
Gibt die Timeout-Dauer zurück, die zur Berechnung der Frist für RPCs verwendet wird.
Wenn dieses Feld nicht gesetzt ist, wird ein leeres std::optional
zurückgegeben.
Siehe auch setDeadlineTimeout().
[noexcept, since 6.11]
std::optional<bool> QGrpcCallOptions::filterServerMetadata() const
Gibt true
zurück, wenn protokollbezogene Server-Metadaten vom Ergebnis ausgeschlossen sind. Gibt false
zurück, um alle vom Server empfangenen Metadaten einzuschließen.
Wenn dieses Feld nicht gesetzt ist, wird ein leeres std::optional
zurückgegeben.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch setFilterServerMetadata() und QGrpcChannelOptions::filterServerMetadata().
QGrpcCallOptions &QGrpcCallOptions::setDeadlineTimeout(std::chrono::milliseconds timeout)
Legt die timeout fest und gibt einen Verweis auf das aktualisierte Objekt zurück.
Eine Frist setzt die Grenze dafür, wie lange ein Client bereit ist, auf eine Antwort von einem Server zu warten. Die tatsächliche Frist wird berechnet, indem die timeout zur Startzeit des RPCs addiert wird.
Die Frist gilt für die gesamte Lebensdauer einer RPC, einschließlich des Empfangs der endgültigen QGrpcStatus für einen zuvor gestarteten Aufruf und kann daher für (langlebige) Streams unerwünscht sein.
Hinweis: Das Setzen dieses Feldes setzt das entsprechende Feld für die Kanaloptionen außer Kraft - siehe QGrpcChannelOptions::setDeadlineTimeout()
Siehe auch deadlineTimeout().
[since 6.11]
QGrpcCallOptions &QGrpcCallOptions::setFilterServerMetadata(bool value)
Wenn value gleich true
ist, werden vom gRPC-Transport definierte protokollbezogene Metadaten (wie reservierte grpc-
-Schlüssel) ausgeschlossen. Wenn value gleich false
ist, werden alle vom Server empfangenen Metadaten einbezogen.
*/ void QGrpcCommonOptions::setFilterServerMetadata(bool value) { m_filterServerMetadata = value; }
QT_END_NAMESPACE
Hinweis: Das Setzen dieses Feldes überschreibt das entsprechende Feld der Kanaloptionen - siehe QGrpcChannelOptions::setFilterServerMetadata()
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch filterServerMetadata() und QGrpcChannelOptions::setFilterServerMetadata().
[noexcept, since 6.8]
void QGrpcCallOptions::swap(QGrpcCallOptions &other)
Tauscht other mit diesem Objekt aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
Diese Funktion wurde in Qt 6.8 eingeführt.
[since 6.8]
QVariant QGrpcCallOptions::operator QVariant() const
Konstruiert ein neues QVariant aus diesem Objekt.
Diese Funktion wurde in Qt 6.8 eingeführt.
[noexcept]
QGrpcCallOptions &QGrpcCallOptions::operator=(QGrpcCallOptions &&other)
Move- weist other diesem QGrpcCallOptions zu und gibt einen Verweis auf das aktualisierte Objekt zurück.
Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen die Zerstörung und die Zuweisung eines neuen Wertes sind.
QGrpcCallOptions &QGrpcCallOptions::operator=(const QGrpcCallOptions &other)
Weist other dieser QGrpcCallOptions zu und gibt einen Verweis auf das aktualisierte Objekt zurück.
Verwandte Nicht-Mitglieder
[since 6.8]
QDebug operator<<(QDebug debug, const QGrpcCallOptions &callOpts)
Schreibt callOpts in den angegebenen Stream debug.
Diese Funktion wurde in Qt 6.8 eingeführt.
© 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.