QGrpcOperation Class
La clase QGrpcOperation proporciona operaciones comunes para manejar la gRPC™ comunicación desde el lado del cliente. Más...
| Cabecera: | #include <QGrpcOperation> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc)target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
| Desde: | Qt 6.5 |
| Hereda de: | QObject |
| Heredado de: | QGrpcBidiStream, QGrpcCallReply, QGrpcClientStream, y QGrpcServerStream |
Funciones Públicas
| 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 & |
Ranuras públicas
| void | cancel() |
Señales
| void | finished(const QGrpcStatus &status) |
(since 6.11) void | serverInitialMetadataReceived(const QMultiHash<QByteArray, QByteArray> &metadata) |
Descripción Detallada
QGrpcOperation sirve como clase base para los cuatro tipos de métodos gRPC™ tipos de métodos: QGrpcCallReply (llamadas unarias), QGrpcServerStream (streaming de servidor), QGrpcClientStream (streaming de cliente), y QGrpcBidiStream (streaming bidireccional). Proporciona una interfaz común para interactuar con estas llamadas a procedimientos remotos (RPC).
Cada QGrpcOperation corresponde a una RPC específica solicitada a través de la interfaz de cliente generada.
Para una visión general de alto nivel, consulte la Qt GRPC Client Guide.
Documentación de las funciones miembro
[override virtual noexcept] QGrpcOperation::~QGrpcOperation()
Destruye el QGrpcOperation.
[slot] void QGrpcOperation::cancel()
Intenta cancelar la RPC inmediatamente. No se puede garantizar el éxito de la cancelación. Emite la señal finished con un código de estado Cancelled.
Véase también QGrpcOperationContext::cancelRequested.
[signal] void QGrpcOperation::finished(const QGrpcStatus &status)
Esta señal se emite cuando una RPC iniciada previamente ha finalizado. status proporciona información adicional sobre el resultado de la RPC.
Después de recibir esta señal, no se deben realizar más operaciones de escritura o lectura en el objeto de operación. En este punto, es seguro reutilizar o destruir el objeto RPC.
Nota: Esta señal sólo se emite una vez, y en la mayoría de los casos, querrás desconectarte justo después de recibirla para evitar problemas, como que las capturas lambda no se destruyan después de recibir la señal. Una forma sencilla de conseguirlo es utilizando el tipo de conexión SingleShotConnection. Ver Single Shot RPCs para más detalles.
[noexcept] bool QGrpcOperation::isFinished() const
Devuelve true si esta operación ha finalizado, lo que significa que no pueden producirse más operaciones en la RPC correspondiente, en caso contrario devuelve false.
[noexcept, until 6.13] const QHash<QByteArray, QByteArray> &QGrpcOperation::metadata() const &
Esta función quedará obsoleta en la versión 6.13.
Utilice serverInitialMetadata() y serverTrailingMetadata() en su lugar.
Devuelve los metadatos iniciales recibidos del servidor antes de cualquier mensaje de respuesta.
Los metadatos iniciales son enviados por el servidor inmediatamente después de que se establezca la llamada. Pueden incluir pares clave-valor que proporcionan contexto para la llamada.
Nota: QGrpcHttp2Channel transporta los metadatos como cabeceras HTTP/2. Las claves son cadenas ASCII que no distinguen mayúsculas de minúsculas. Debe evitar utilizar los prefijos internos: : (pseudocabecera), grpc-, o qtgrpc-. Los valores pueden ser cadenas ASCII o datos binarios. Para más información, consulte RFC 7540, Sección 8.1.2.
Véase también serverInitialMetadata() y serverTrailingMetadata().
[noexcept] QLatin1StringView QGrpcOperation::method() const
Devuelve el nombre del método asociado a esta operación RPC.
template <typename T, QtProtobuf::if_protobuf_message<T> = true> std::optional<T> QGrpcOperation::read() const
Lee un mensaje de una matriz de bytes sin procesar almacenada dentro de este objeto de operación.
Devuelve un mensaje deserializado opcional. En caso de fallo, se devuelve std::nullopt.
Nota: Esta función sólo participa en la resolución de sobrecargas si T es una subclase de QProtobufMessage.
Ver también read(QProtobufMessage *).
[since 6.8] bool QGrpcOperation::read(QProtobufMessage *message) const
Lee un mensaje de una matriz de bytes sin procesar almacenada dentro de este objeto de operación.
La función escribe el valor deserializado en el puntero message.
Si la deserialización tiene éxito, esta función devuelve true. En caso contrario, devuelve false.
Esta función se introdujo en Qt 6.8.
Véase también read().
QMetaType QGrpcOperation::responseMetaType() const
Devuelve el metatipo del mensaje de respuesta RPC.
[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcOperation::serverInitialMetadata() const &
Devuelve los metadatos iniciales recibidos del servidor antes de cualquier mensaje de respuesta.
El servidor envía los metadatos iniciales inmediatamente después de establecer la llamada. Pueden incluir pares clave-valor que proporcionan contexto para la llamada.
Nota: QGrpcHttp2Channel transporta los metadatos como cabeceras HTTP/2. Las claves son cadenas ASCII que no distinguen mayúsculas de minúsculas. Debe evitar utilizar los prefijos internos: : (pseudocabecera), grpc-, o qtgrpc-. Los valores pueden ser cadenas ASCII o datos binarios. Para más información, consulte RFC 7540, Sección 8.1.2.
Los metadatos pueden contener varias entradas bajo la misma clave.
Esta función se introdujo en Qt 6.10.
Véase también serverInitialMetadataReceived() y serverTrailingMetadata().
[signal, since 6.11] void QGrpcOperation::serverInitialMetadataReceived(const QMultiHash<QByteArray, QByteArray> &metadata)
Esta señal se emite cuando el servidor responde con sus metadatos iniciales. Los metadatos iniciales del servidor se envían al cliente antes de la respuesta inicial de una RPC.
Los metadatos recibidos se proporcionan en metadata y también están disponibles a través de serverInitialMetadata().
Nota: QGrpcHttp2Channel transporta los metadatos como cabeceras HTTP/2. Las claves son cadenas ASCII que no distinguen mayúsculas de minúsculas. Debe evitar utilizar los prefijos internos: : (pseudocabecera), grpc-, o qtgrpc-. Los valores pueden ser cadenas ASCII o datos binarios. Para más información, véase RFC 7540, Sección 8.1.2.
Esta función se introdujo en Qt 6.11.
Véase también serverInitialMetadata().
[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcOperation::serverTrailingMetadata() const &
Devuelve los metadatos de seguimiento recibidos del servidor después de todos los mensajes de respuesta.
El servidor sólo envía los metadatos finales una vez que se han enviado todos los mensajes de respuesta y justo antes de que finalice la RPC. Puede incluir pares clave-valor que proporcionen contexto adicional sobre la llamada completada.
Nota: QGrpcHttp2Channel transporta los metadatos como cabeceras HTTP/2. Las claves son cadenas ASCII que no distinguen mayúsculas de minúsculas. Debe evitar utilizar los prefijos internos: : (pseudocabecera), grpc-, o qtgrpc-. Los valores pueden ser cadenas ASCII o datos binarios. Para más información, consulte RFC 7540, Sección 8.1.2.
Los metadatos pueden contener varias entradas bajo la misma clave.
Esta función se introdujo en Qt 6.10.
Véase también 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.