Sur cette page

QGrpcChannelOptions Class

La classe QGrpcChannelOptions offre diverses options permettant d'affiner un canal gRPC. Plus d'informations...

En-tête : #include <QGrpcChannelOptions>
CMake : find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
Depuis : Qt 6.6
En QML : GrpcChannelOptions

Cette classe est comparable à l'égalité.

Fonctions publiques

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) operator QVariant() const
QGrpcChannelOptions &operator=(QGrpcChannelOptions &&other)
QGrpcChannelOptions &operator=(const QGrpcChannelOptions &other)
(since 6.11) bool operator!=(const QGrpcChannelOptions &lhs, const QGrpcChannelOptions &rhs)
(since 6.8) QDebug operator<<(QDebug debug, const QGrpcChannelOptions &chOpts)
(since 6.11) bool operator==(const QGrpcChannelOptions &lhs, const QGrpcChannelOptions &rhs)

Description détaillée

QGrpcChannelOptions vous permet de personnaliser un canal. gRPC canal. Certaines options s'appliquent à tous les appels de procédure à distance (RPC) qui opèrent sur le canal associé, qui est utilisé pour communiquer avec les services.

Remplacez les options pour des RPC spécifiques à l'aide de QGrpcCallOptions.

QGrpcChannelOptions channelOpts ;// Appliquer des métadonnées communes à chaque RPCchannelOpts.setMetadata({ { "header" , "value1" },{ "header" , "value2" },}) ;const auto &md = channelOpts.metadata(QtGrpc::MultiValue) ;qDebug() << "Channel Metadata: " << md;

// Appliquer un délai de 2 secondes à chaquecanal RPCOpts.setDeadlineTimeout(2s) ;qDebug() << "Channel timeout: " << channelOpts.deadlineTimeout();

// Configurer la configuration SSL/TLSchannelOpts.setSslConfiguration(QSslConfiguration()) ;

Note : Il appartient à l'implémentation du canal de déterminer les spécificités de ces options.

Documentation des fonctions membres

QGrpcChannelOptions::QGrpcChannelOptions()

Default-construit un QGrpcChannelOptions vide.

QGrpcChannelOptions::QGrpcChannelOptions(const QGrpcChannelOptions &other)

Copy-construit un QGrpcChannelOptions à partir de other.

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

Move-construit un nouveau QGrpcChannelOptions à partir de other.

Note : L'objet move-from other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'attribution d'une nouvelle valeur.

[noexcept] QGrpcChannelOptions::~QGrpcChannelOptions()

Détruit le site QGrpcChannelOptions.

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

Ajoute key et value à metadata si la paire exacte n'est pas déjà contenue. La même clé peut apparaître plusieurs fois avec des valeurs différentes.

Remarque : QGrpcHttp2Channel transporte les métadonnées sous forme d'en-têtes HTTP/2. Les clés sont des chaînes ASCII insensibles à la casse. Vous devez éviter d'utiliser les préfixes internes : : (pseudo-en-tête), grpc- ou qtgrpc-. Les valeurs peuvent être des chaînes ASCII ou des données binaires. Pour plus d'informations, voir RFC 7540, section 8.1.2.

Note : Ces métadonnées sont incluses dans chaque RPC effectuée par l'intermédiaire du canal. Les métadonnées du canal sont fusionnées avec toutes les métadonnées spécifiques à l'appel lorsque la RPC démarre - voir QGrpcCallOptions::addMetadata()

Cette fonction a été introduite dans Qt 6.10.

Voir aussi metadata() et setMetadata().

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

Renvoie le délai d'attente utilisé pour calculer l'échéance du canal.

Si ce champ n'est pas défini, il renvoie une valeur vide std::optional.

Voir aussi setDeadlineTimeout().

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

Renvoie true si les métadonnées du serveur liées au protocole sont exclues du résultat. Renvoie false pour inclure toutes les métadonnées reçues du serveur.

Si ce champ n'est pas défini, il renvoie une adresse vide std::optional.

Cette fonction a été introduite dans Qt 6.11.

Voir aussi setFilterServerMetadata() et QGrpcCallOptions::filterServerMetadata().

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

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

Cette fonction sera obsolète dans la version 6.13.

Utilisez plutôt metadata(QtGrpc::MultiValue).

Renvoie les métadonnées. Si ce champ n'est pas défini, il renvoie des métadonnées vides.

Note : QGrpcHttp2Channel transporte les métadonnées comme des en-têtes HTTP/2. Les clés sont des chaînes ASCII insensibles à la casse. Vous devez éviter d'utiliser les préfixes internes : : (pseudo-en-tête), grpc- ou qtgrpc-. Les valeurs peuvent être des chaînes ASCII ou des données binaires. Pour plus d'informations, voir RFC 7540, section 8.1.2.

Voir aussi metadata(QtGrpc::MultiValue_t) et setMetadata().

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

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

Renvoie les métadonnées. Si ce champ n'est pas défini, il renvoie des métadonnées vides.

Remarque : QGrpcHttp2Channel transporte les métadonnées sous forme d'en-têtes HTTP/2. Les clés sont des chaînes ASCII insensibles à la casse. Vous devez éviter d'utiliser les préfixes internes : : (pseudo-en-tête), grpc- ou qtgrpc-. Les valeurs peuvent être des chaînes ASCII ou des données binaires. Pour plus d'informations, voir RFC 7540, section 8.1.2. Plusieurs valeurs par clé sont prises en charge.

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

Ces fonctions ont été introduites dans Qt 6.10.

Voir aussi setMetadata.

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

Renvoie le format de sérialisation utilisé par le canal.

Si ce champ n'est pas défini, il renvoie un format de sérialisation construit sur Default.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi setSerializationFormat().

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

Définit l'adresse timeout et renvoie une référence à l'objet mis à jour.

Un délai fixe la limite de temps pendant laquelle un client est prêt à attendre une réponse d'un serveur. Le délai réel est calculé en ajoutant timeout à l'heure de début de la RPC.

Le délai s'applique à toute la durée de vie d'une RPC, ce qui inclut la réception de la dernière adresse QGrpcStatus pour un appel lancé précédemment, et peut donc être indésirable pour les flux (à longue durée de vie).

Remarque : la définition de ce champ s'applique à toutes les RPC qui opèrent sur le canal, à l'exception de celles qui sont supplantées par QGrpcCallOptions::setDeadlineTimeout().

Voir aussi deadlineTimeout().

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

Si value est true, les métadonnées liées au protocole définies par le transport gRPC (telles que les clés grpc- réservées) seront exclues. Si value est false, toutes les métadonnées reçues du serveur seront incluses.

*/ void QGrpcCommonOptions::setFilterServerMetadata(bool value) { m_filterServerMetadata = value ; }

QT_END_NAMESPACE

Note : La définition de ce champ s'applique à toutes les RPC qui opèrent sur le canal, à l'exception de celles qui sont surchargées par la fonction QGrpcCallOptions::filterServerMetadata

Cette fonction a été introduite dans Qt 6.11.

Voir aussi filterServerMetadata() et QGrpcCallOptions::setFilterServerMetadata().

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

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

Cette fonction sera obsolète à partir de la version 6.13.

Utilisez la surcharge QMultiHash à la place.

Définit l'adresse metadata et renvoie une référence à l'objet mis à jour.

Remarque : QGrpcHttp2Channel transporte les métadonnées sous forme d'en-têtes HTTP/2. Les clés sont des chaînes ASCII insensibles à la casse. Vous devez éviter d'utiliser les préfixes internes : : (pseudo-en-tête), grpc- ou qtgrpc-. Les valeurs peuvent être des chaînes ASCII ou des données binaires. Pour plus d'informations, voir RFC 7540, section 8.1.2.

Note : Ces métadonnées sont incluses dans chaque RPC effectuée par l'intermédiaire du canal. Les métadonnées du canal sont fusionnées avec toutes les métadonnées spécifiques à l'appel lorsque la RPC démarre - voir QGrpcCallOptions::setMetadata(QMultiHash)

Voir aussi metadata().

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

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

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

Définit l'adresse metadata et renvoie une référence à l'objet mis à jour.

Remarque : QGrpcHttp2Channel transporte les métadonnées sous forme d'en-têtes HTTP/2. Les clés sont des chaînes ASCII insensibles à la casse. Vous devez éviter d'utiliser les préfixes internes : : (pseudo-en-tête), grpc- ou qtgrpc-. Les valeurs peuvent être des chaînes ASCII ou des données binaires. Pour plus d'informations, voir RFC 7540, section 8.1.2. Plusieurs valeurs par clé sont prises en charge.

Note : Ces métadonnées sont incluses dans chaque RPC effectuée à travers le canal. Les métadonnées du canal sont fusionnées avec toutes les métadonnées spécifiques à l'appel lorsque la RPC démarre - voir QGrpcCallOptions::setMetadata(QMultiHash)

Ces fonctions ont été introduites dans Qt 6.10.

Voir aussi metadata(QtGrpc::MultiValue_t).

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

Définit la sérialisation format pour le canal et renvoie une référence à l'objet mis à jour.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi serializationFormat().

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

Définit l'adresse sslConfiguration pour le canal et renvoie une référence à l'objet mis à jour.

Voir aussi sslConfiguration().

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

Renvoie la configuration SSL pour le canal.

Si ce champ n'est pas défini, il renvoie une adresse vide std::optional.

Voir aussi setSslConfiguration().

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

Échange other avec cet objet. Cette opération est très rapide et n'échoue jamais.

Cette fonction a été introduite dans Qt 6.8.

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

Construit un nouveau QVariant à partir de cet objet.

Cette fonction a été introduite dans Qt 6.8.

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

Move-assigne other à ce QGrpcChannelOptions et renvoie une référence à l'objet mis à jour.

Remarque : l'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valables sont la destruction et l'attribution d'une nouvelle valeur.

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

Affecte other à QGrpcChannelOptions et renvoie une référence à l'objet mis à jour.

Non-membres apparentés

[noexcept, since 6.11] bool operator!=(const QGrpcChannelOptions &lhs, const QGrpcChannelOptions &rhs)

Renvoie true si les valeurs deadlineTimeout, filterServerMetadata, metadata(QtGrpc::MultiValue_t), serializationFormat et sslConfiguration dans lhs et rhs ne sont pas égales.

Cette fonction a été introduite dans Qt 6.11.

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

Écrit chOpts dans le flux spécifié debug.

Cette fonction a été introduite dans Qt 6.8.

[noexcept, since 6.11] bool operator==(const QGrpcChannelOptions &lhs, const QGrpcChannelOptions &rhs)

Retourne true si les deadlineTimeout, filterServerMetadata, metadata(QtGrpc::MultiValue_t), serializationFormat et sslConfiguration dans lhs et rhs sont égaux.

Cette fonction a été introduite dans Qt 6.11.

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