QGrpcOperation Class
La classe `QGrpcOperation` fournit des opérations courantes permettant de gérer la gRPC™ communication côté client. En savoir plus...
| En-tête : | #include <QGrpcOperation> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
| Depuis : | Qt 6.5 |
| Hérite de : | QObject |
| Hérité par : | QGrpcBidiStream, QGrpcCallReply, QGrpcClientStream et QGrpcServerStream |
Fonctions publiques
| virtual | ~QGrpcOperation() override |
| bool | isFinished() const |
(until 6.13) const QHash<QByteArray, QByteArray> & | metadata() const & |
| QLatin1StringView | method() const |
| std::optional<T> | read() const |
(since 6.8) bool | read(QProtobufMessage *message) const |
| QMetaType | responseMetaType() const |
(since 6.10) const QMultiHash<QByteArray, QByteArray> & | serverInitialMetadata() const & |
(since 6.10) const QMultiHash<QByteArray, QByteArray> & | serverTrailingMetadata() const & |
Emplacements publics
| void | cancel() |
Signaux
| void | finished(const QGrpcStatus &status) |
(since 6.11) void | serverInitialMetadataReceived(const QMultiHash<QByteArray, QByteArray> &metadata) |
Description détaillée
QGrpcOperation sert de classe de base pour les quatre gRPC™ types de méthodes : QGrpcCallReply (appels unaires), QGrpcServerStream (streaming serveur), QGrpcClientStream (streaming client) et QGrpcBidiStream (streaming bidirectionnel). Elle fournit une interface commune pour interagir avec ces appels de procédure à distance (RPC).
Chaque QGrpcOperation correspond à un RPC spécifique demandé via l’interface client générée.
Pour une vue d’ensemble, consultez le Guide du client «Qt GRPC ».
Documentation des fonctions membres
[override virtual noexcept] QGrpcOperation::~QGrpcOperation()
Supprime l'QGrpcOperation.
[slot] void QGrpcOperation::cancel()
Tente d'annuler immédiatement le RPC. La réussite de l'annulation ne peut être garantie. Émet le signal « finished » avec un code d'état « Cancelled ».
Voir également QGrpcOperationContext::cancelRequested.
[signal] void QGrpcOperation::finished(const QGrpcStatus &status)
Ce signal est émis lorsqu'un RPC lancé précédemment est terminé. L'status fournit des informations supplémentaires sur le résultat du RPC.
Une fois ce signal reçu, aucune autre opération d’écriture ou de lecture ne doit être effectuée sur l’objet d’opération. À ce stade, vous pouvez réutiliser ou détruire l’objet RPC en toute sécurité.
Remarque : ce signal n’est émis qu’une seule fois et, dans la plupart des cas, il est recommandé de se déconnecter immédiatement après sa réception afin d’éviter des problèmes, tels que la non-destruction des captures lambda après la réception du signal. Pour ce faire, le plus simple est d’utiliser le type de connexion « SingleShotConnection ». Pour plus de détails, consultez la section « RPC à déclenchement unique ».
[noexcept] bool QGrpcOperation::isFinished() const
Renvoie « true » si cette opération est terminée, ce qui signifie qu'aucune autre opération ne peut plus être effectuée sur le RPC correspondant ; sinon, renvoie « false ».
[noexcept, until 6.13] const QHash<QByteArray, QByteArray> &QGrpcOperation::metadata() const &
Cette fonction sera obsolète à partir de la version 6.13.
Utilisez plutôt serverInitialMetadata() et serverTrailingMetadata().
Renvoie les métadonnées initiales reçues du serveur avant tout message de réponse.
Les métadonnées initiales sont envoyées par le serveur immédiatement après l'établissement de la connexion. Elles peuvent inclure des paires clé-valeur fournissant le contexte de la connexion.
Remarque : les clés préfixées par grpc- ou qtgrpc- sont réservées par gRPC et QtGrpc. Les entrées fournies qui les utilisent sont ignorées lors de la construction de la requête. Certains canaux spécifiques peuvent imposer des restrictions supplémentaires ; voir QGrpcHttp2Channel#Reserved metadata keys.
Voir également serverInitialMetadata() et serverTrailingMetadata().
[noexcept] QLatin1StringView QGrpcOperation::method() const
Renvoie le nom de la méthode associée à cette opération RPC.
template <typename T> requires QtProtobuf::if_protobuf_message<T> std::optional<T> QGrpcOperation::read() const
Lit un message à partir d'un tableau d'octets bruts stocké dans cet objet d'opération.
Renvoie un message désérialisé (facultatif). En cas d'échec, la valeur « std::nullopt » est renvoyée.
Remarque : cette fonction ne participe à la résolution des surcharges que si ` T ` est une sous-classe de ` QProtobufMessage`.
Voir aussi ` read` (`QProtobufMessage *`).
[since 6.8] bool QGrpcOperation::read(QProtobufMessage *message) const
Lit un message à partir d'un tableau d'octets bruts stocké dans cet objet d'opération.
La fonction écrit la valeur désérialisée dans le pointeur ` message `.
Si la désérialisation réussit, cette fonction renvoie ` true`. Sinon, elle renvoie ` false`.
Cette fonction a été introduite dans Qt 6.8.
Voir également read().
QMetaType QGrpcOperation::responseMetaType() const
Renvoie le type méta du message de réponse RPC.
[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcOperation::serverInitialMetadata() const &
Renvoie les métadonnées initiales reçues du serveur avant tout message de réponse.
Les métadonnées initiales sont envoyées par le serveur immédiatement après l'établissement de la connexion. Elles peuvent inclure des paires clé-valeur fournissant le contexte de la connexion.
Remarque : les clés préfixées par grpc- ou qtgrpc- sont réservées par gRPC et QtGrpc. Les entrées les utilisant sont ignorées lors de la construction de la requête. Certains canaux peuvent imposer des restrictions supplémentaires ; voir QGrpcHttp2Channel#Reserved metadata keys.
Les métadonnées peuvent contenir plusieurs entrées sous la même clé.
Cette fonction a été introduite dans Qt 6.10.
Voir également serverInitialMetadataReceived() et serverTrailingMetadata().
[signal, since 6.11] void QGrpcOperation::serverInitialMetadataReceived(const QMultiHash<QByteArray, QByteArray> &metadata)
Ce signal est émis lorsque le serveur renvoie ses métadonnées initiales. Les métadonnées initiales du serveur sont transmises au client avant la réponse initiale d'un appel RPC.
Les métadonnées reçues sont disponibles à l'adresse metadata et sont également accessibles via serverInitialMetadata().
Remarque : les clés portant le préfixe grpc- ou qtgrpc- sont réservées par gRPC et QtGrpc. Les entrées fournies à l'aide de ces clés sont ignorées lors de la construction de la requête. Certains canaux peuvent imposer des restrictions supplémentaires ; voir QGrpcHttp2Channel#Reserved metadata keys.
Cette fonction a été introduite dans Qt 6.11.
Voir également serverInitialMetadata().
[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcOperation::serverTrailingMetadata() const &
Renvoie les métadonnées de fin reçues du serveur après tous les messages de réponse.
Les métadonnées de fin ne sont envoyées par le serveur qu’une fois tous les messages de réponse transmis et juste avant la fin de l’appel RPC. Elles peuvent inclure des paires clé-valeur fournissant des informations contextuelles supplémentaires sur l’appel terminé.
Remarque : les clés comportant les préfixes « grpc- » ou « qtgrpc- » sont réservées par gRPC et QtGrpc. Les entrées les utilisant sont ignorées lors de la construction de la requête. Certains canaux peuvent imposer des restrictions supplémentaires ; voir QGrpcHttp2Channel#Reserved metadata keys.
Les métadonnées peuvent contenir plusieurs entrées sous la même clé.
Cette fonction a été introduite dans Qt 6.10.
Voir également serverInitialMetadata().
© 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.