QGrpcChannelOptions Class

Die Klasse QGrpcChannelOptions bietet verschiedene Optionen zur Feinabstimmung eines gRPC-Kanals. Mehr...

Kopfzeile: #include <QGrpcChannelOptions>
CMake: find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
Seit: Qt 6.6
In QML: GrpcChannelOptions

Öffentliche Funktionen

QGrpcChannelOptions()
QGrpcChannelOptions(const QGrpcChannelOptions &other)
QGrpcChannelOptions(QGrpcChannelOptions &&other)
~QGrpcChannelOptions()
(since 6.10) QGrpcChannelOptions &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 &
(since 6.8) QGrpcSerializationFormat serializationFormat() const
QGrpcChannelOptions &setDeadlineTimeout(std::chrono::milliseconds timeout)
(since 6.11) QGrpcChannelOptions &setFilterServerMetadata(bool value)
(until 6.13) QGrpcChannelOptions &setMetadata(QHash<QByteArray, QByteArray> &&metadata)
(since 6.10) QGrpcChannelOptions &setMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)
(until 6.13) QGrpcChannelOptions &setMetadata(const QHash<QByteArray, QByteArray> &metadata)
(since 6.10) QGrpcChannelOptions &setMetadata(const QMultiHash<QByteArray, QByteArray> &metadata)
(since 6.10) QGrpcChannelOptions &setMetadata(std::initializer_list<std::pair<QByteArray, QByteArray>> list)
(since 6.8) QGrpcChannelOptions &setSerializationFormat(const QGrpcSerializationFormat &format)
QGrpcChannelOptions &setSslConfiguration(const QSslConfiguration &sslConfiguration)
std::optional<QSslConfiguration> sslConfiguration() const
(since 6.8) void swap(QGrpcChannelOptions &other)
(since 6.8) QVariant operator QVariant() const
QGrpcChannelOptions &operator=(QGrpcChannelOptions &&other)
QGrpcChannelOptions &operator=(const QGrpcChannelOptions &other)
(since 6.8) QDebug operator<<(QDebug debug, const QGrpcChannelOptions &chOpts)

Detaillierte Beschreibung

QGrpcChannelOptions ermöglicht das Anpassen eines gRPC Kanal anpassen. Einige Optionen gelten für alle Remote Procedure Calls (RPCs), die auf dem zugehörigen Kanal arbeiten, der zur Kommunikation mit Diensten verwendet wird.

Überschreiben Sie die Optionen für bestimmte RPCs mit QGrpcCallOptions.

QGrpcChannelOptions channelOpts;// Gemeinsame Metadaten auf jede RPC anwendenchannelOpts.setMetadata({ { "header" , "value1" },{ "header" , "value2" },});const auto &md = channelOpts.metadata(QtGrpc::MultiValue);qDebug() << "Channel Metadata: " << md;

// Anwendung einer 2-Sekunden-Frist auf jeden RPCchannelOpts.setDeadlineTimeout(2s);qDebug() << "Channel timeout: " << channelOpts.deadlineTimeout();

// Konfigurieren der SSL/TLS-KonfigurationchannelOpts.setSslConfiguration(QSslConfiguration());

Hinweis: Es obliegt der Implementierung des Kanals, die Besonderheiten dieser Optionen zu bestimmen.

Dokumentation der Mitgliedsfunktionen

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

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

Diese Funktion wird voraussichtlich in Version 6.13 veraltet sein.

Verwenden Sie stattdessen metadata(QtGrpc::MultiValue).

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 metadata(QtGrpc::MultiValue_t) und setMetadata().

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

[until 6.13] QGrpcChannelOptions &QGrpcChannelOptions::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. Für weitere Informationen siehe RFC 7540, Abschnitt 8.1.2.

Hinweis: Diese Metadaten sind in jedem RPC enthalten, der über den Kanal läuft. Kanal-Metadaten werden mit allen aufrufspezifischen Metadaten zusammengeführt, wenn der RPC startet - siehe QGrpcCallOptions::setMetadata(QMultiHash)

Siehe auch metadata().

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

[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcChannelOptions::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] QGrpcChannelOptions &QGrpcChannelOptions::setMetadata(QMultiHash<QByteArray, QByteArray> &&metadata)

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

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

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: Diese Metadaten sind in jedem RPC enthalten, der über den Kanal erfolgt. Kanal-Metadaten werden mit allen aufrufspezifischen Metadaten zusammengeführt, wenn der RPC startet - siehe QGrpcCallOptions::setMetadata(QMultiHash)

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch metadata(QtGrpc::MultiValue_t).

QGrpcChannelOptions::QGrpcChannelOptions()

Default-konstruiert ein leeres QGrpcChannelOptions.

QGrpcChannelOptions::QGrpcChannelOptions(const QGrpcChannelOptions &other)

Kopiert eine QGrpcChannelOptions von other.

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

Move-konstruiert ein neues QGrpcChannelOptions von other.

Hinweis: Das verschobene Objekt other befindet sich in einem teilweise gebildeten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Wertes sind.

[noexcept] QGrpcChannelOptions::~QGrpcChannelOptions()

Zerstört die QGrpcChannelOptions.

[since 6.10] QGrpcChannelOptions &QGrpcChannelOptions::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. Für weitere Informationen siehe RFC 7540, Abschnitt 8.1.2.

Hinweis: Diese Metadaten sind in jedem RPC enthalten, der über den Kanal läuft. Kanal-Metadaten werden mit allen aufrufspezifischen Metadaten zusammengeführt, wenn der RPC startet - siehe QGrpcCallOptions::addMetadata()

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch metadata() und setMetadata().

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

Gibt die Timeout-Dauer zurück, die zur Berechnung der Frist für den Kanal 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> QGrpcChannelOptions::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 QGrpcCallOptions::filterServerMetadata().

[since 6.8] QGrpcSerializationFormat QGrpcChannelOptions::serializationFormat() const

Gibt das vom Kanal verwendete Serialisierungsformat zurück.

Wenn dieses Feld nicht gesetzt ist, wird ein Default konstruiertes Serialisierungsformat zurückgegeben.

Diese Funktion wurde in Qt 6.8 eingeführt.

Siehe auch setSerializationFormat().

QGrpcChannelOptions &QGrpcChannelOptions::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 gilt für alle RPCs, die auf dem Kanal arbeiten, außer denen, die durch QGrpcCallOptions::setDeadlineTimeout() überschrieben werden.

Siehe auch deadlineTimeout().

[since 6.11] QGrpcChannelOptions &QGrpcChannelOptions::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 gilt für alle RPCs, die auf dem Kanal operieren, außer denen, die durch QGrpcCallOptions::filterServerMetadata

Diese Funktion wurde in Qt 6.11 eingeführt.

Siehe auch filterServerMetadata() und QGrpcCallOptions::setFilterServerMetadata().

[since 6.8] QGrpcChannelOptions &QGrpcChannelOptions::setSerializationFormat(const QGrpcSerializationFormat &format)

Setzt die Serialisierung format für den Kanal und gibt eine Referenz auf das aktualisierte Objekt zurück.

Diese Funktion wurde in Qt 6.8 eingeführt.

Siehe auch serializationFormat().

QGrpcChannelOptions &QGrpcChannelOptions::setSslConfiguration(const QSslConfiguration &sslConfiguration)

Setzt die sslConfiguration für den Kanal und gibt einen Verweis auf das aktualisierte Objekt zurück.

Siehe auch sslConfiguration().

std::optional<QSslConfiguration> QGrpcChannelOptions::sslConfiguration() const

Gibt die SSL-Konfiguration für den Kanal zurück.

Wenn dieses Feld nicht gesetzt ist, wird ein leeres std::optional zurückgegeben.

Siehe auch setSslConfiguration().

[noexcept, since 6.8] void QGrpcChannelOptions::swap(QGrpcChannelOptions &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 QGrpcChannelOptions::operator QVariant() const

Konstruiert ein neues QVariant aus diesem Objekt.

Diese Funktion wurde in Qt 6.8 eingeführt.

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

Move- weist other diesem QGrpcChannelOptions 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.

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

Weist other dieser QGrpcChannelOptions zu und gibt einen Verweis auf das aktualisierte Objekt zurück.

Verwandte Nicht-Mitglieder

[since 6.8] QDebug operator<<(QDebug debug, const QGrpcChannelOptions &chOpts)

Schreibt chOpts 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.