QGrpcChannelOptions Class
La clase QGrpcChannelOptions ofrece varias opciones para ajustar un canal gRPC. Más...
| Cabecera: | #include <QGrpcChannelOptions> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc)target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
| Desde: | Qt 6.6 |
| En QML: | GrpcChannelOptions |
Esta clase es igual-comparable.
Funciones públicas
| 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) |
No miembros relacionados
(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) |
Descripción detallada
QGrpcChannelOptions te permite personalizar un gRPC™ canal. Algunas opciones se aplican a todas las llamadas a procedimientos remotos (RPC) que operan en el canal asociado, que se utiliza para comunicarse con los servicios.
Las opciones para RPCs específicos se pueden anular con QGrpcCallOptions.
QGrpcChannelOptions channelOpts;// Aplicar metadatos comunes a cada RPCchannelOpts.setMetadata({ { "header" , "value1" },{ "header" , "value2" },});const auto &md = channelOpts.metadata(QtGrpc::MultiValue);qDebug() << "Channel Metadata: " << md; // Aplicar un plazo de 2 segundos a cada RPCchannelOpts.setDeadlineTimeout(2s);qDebug() << "Channel timeout: " << channelOpts.deadlineTimeout(); // Configurar SSL/TLSchannelOpts.setSslConfiguration(QSslConfiguration());
Nota: Depende de la implementación del canal determinar los detalles de estas opciones.
Documentación de Funciones Miembro
QGrpcChannelOptions::QGrpcChannelOptions()
Default-construye un QGrpcChannelOptions vacío.
QGrpcChannelOptions::QGrpcChannelOptions(const QGrpcChannelOptions &other)
Copia-construye un QGrpcChannelOptions de other.
[constexpr noexcept] QGrpcChannelOptions::QGrpcChannelOptions(QGrpcChannelOptions &&other)
Move-construye un nuevo QGrpcChannelOptions a partir de other.
Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.
[noexcept] QGrpcChannelOptions::~QGrpcChannelOptions()
Destruye el QGrpcChannelOptions.
[since 6.10] QGrpcChannelOptions &QGrpcChannelOptions::addMetadata(QByteArrayView key, QByteArrayView value)
Añade key y value a metadata si el par exacto no está ya contenido. La misma clave puede aparecer varias veces con valores diferentes.
Nota: QGrpcHttp2Channel transporta 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.
Nota: Estos metadatos se incluyen en cada RPC realizada a través del canal. Los metadatos del canal se fusionan con cualquier metadato específico de la llamada cuando se inicia la RPC - ver QGrpcCallOptions::addMetadata()
Esta función se introdujo en Qt 6.10.
Véase también metadata() y setMetadata().
[noexcept] std::optional<std::chrono::milliseconds> QGrpcChannelOptions::deadlineTimeout() const
Devuelve la duración del tiempo de espera que se utiliza para calcular la fecha límite del canal.
Si este campo no está establecido, devuelve un std::optional vacío.
Véase también setDeadlineTimeout().
[noexcept, since 6.11] std::optional<bool> QGrpcChannelOptions::filterServerMetadata() const
Devuelve true si se excluyen del resultado los metadatos del servidor relacionados con el protocolo. Devuelve false si se incluyen todos los metadatos recibidos del servidor.
Si este campo no está establecido, devuelve un std::optional vacío.
Esta función se introdujo en Qt 6.11.
Véase también setFilterServerMetadata() y QGrpcCallOptions::filterServerMetadata().
[noexcept, until 6.13] const QHash<QByteArray, QByteArray> &QGrpcChannelOptions::metadata() const &
[until 6.13] QHash<QByteArray, QByteArray> QGrpcChannelOptions::metadata() &&
Esta función está programada para ser obsoleta en la versión 6.13.
Utilice metadata(QtGrpc::MultiValue) en su lugar.
Devuelve los metadatos. Si este campo no está establecido, devuelve metadatos vacíos.
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.
Véase también metadata(QtGrpc::MultiValue_t) y 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) &&
Devuelve los metadatos. Si este campo no está configurado, devuelve metadatos vacíos.
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. Se admiten múltiples valores por tecla.
const auto &md = opts.metadata(QtGrpc::MultiValue);
Estas funciones se introdujeron en Qt 6.10.
Véase también setMetadata.
[since 6.8] QGrpcSerializationFormat QGrpcChannelOptions::serializationFormat() const
Devuelve el formato de serialización utilizado por el canal.
Si este campo no está establecido, devuelve un formato de serialización construido en Default.
Esta función se introdujo en Qt 6.8.
Véase también setSerializationFormat().
QGrpcChannelOptions &QGrpcChannelOptions::setDeadlineTimeout(std::chrono::milliseconds timeout)
Establece el timeout y devuelve una referencia al objeto actualizado.
Una fecha límite establece el límite de tiempo que un cliente está dispuesto a esperar una respuesta de un servidor. El plazo real se calcula sumando timeout a la hora de inicio de la RPC.
La fecha límite se aplica a todo el tiempo de vida de una RPC, que incluye la recepción de la QGrpcStatus final para una llamada iniciada previamente y, por lo tanto, puede ser no deseada para flujos (de larga duración).
Nota: La configuración de este campo se aplica a todas las RPCs que operan en el canal, excepto aquellas anuladas por QGrpcCallOptions::setDeadlineTimeout()
Véase también deadlineTimeout().
[since 6.11] QGrpcChannelOptions &QGrpcChannelOptions::setFilterServerMetadata(bool value)
Si value es true, se excluirán los metadatos relacionados con el protocolo definidos por el transporte gRPC (como las claves reservadas grpc- ). Si value es false, se incluirán todos los metadatos recibidos del servidor.
*/ void QGrpcCommonOptions::setFilterServerMetadata(bool value) { m_filterServerMetadata = value; }
QT_END_NAMESPACE
Nota: Establecer este campo se aplica a todos los RPCs que operan en el canal, excepto a aquellos sobreescritos por QGrpcCallOptions::filterServerMetadata
Esta función se introdujo en Qt 6.11.
Véase también filterServerMetadata() y QGrpcCallOptions::setFilterServerMetadata().
[until 6.13] QGrpcChannelOptions &QGrpcChannelOptions::setMetadata(const QHash<QByteArray, QByteArray> &metadata)
[until 6.13] QGrpcChannelOptions &QGrpcChannelOptions::setMetadata(QHash<QByteArray, QByteArray> &&metadata)
Esta función quedará obsoleta en la versión 6.13.
Utilice en su lugar la sobrecarga QMultiHash.
Establece metadata y devuelve una referencia al objeto actualizado.
Nota: QGrpcHttp2Channel transporta 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.
Nota: Estos metadatos se incluyen en cada RPC realizada a través del canal. Los metadatos del canal se fusionan con cualquier metadato específico de la llamada cuando se inicia la RPC - ver QGrpcCallOptions::setMetadata(QMultiHash)
Véase también 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)
Establece metadata y devuelve una referencia al objeto actualizado.
Nota: QGrpcHttp2Channel transporta 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. Se admiten múltiples valores por clave.
Nota: Estos metadatos se incluyen en cada RPC realizada a través del canal. Los metadatos del canal se fusionan con cualquier metadato específico de la llamada cuando se inicia la RPC - ver QGrpcCallOptions::setMetadata(QMultiHash)
Estas funciones se introdujeron en Qt 6.10.
Ver también metadata(QtGrpc::MultiValue_t).
[since 6.8] QGrpcChannelOptions &QGrpcChannelOptions::setSerializationFormat(const QGrpcSerializationFormat &format)
Establece la serialización format para el canal y devuelve una referencia al objeto actualizado.
Esta función se introdujo en Qt 6.8.
Véase también serializationFormat().
QGrpcChannelOptions &QGrpcChannelOptions::setSslConfiguration(const QSslConfiguration &sslConfiguration)
Establece el sslConfiguration para el canal y devuelve una referencia al objeto actualizado.
Véase también sslConfiguration().
std::optional<QSslConfiguration> QGrpcChannelOptions::sslConfiguration() const
Devuelve la configuración SSL del canal.
Si este campo no está configurado, devuelve un std::optional vacío.
Véase también setSslConfiguration().
[noexcept, since 6.8] void QGrpcChannelOptions::swap(QGrpcChannelOptions &other)
Intercambia other con este objeto. Esta operación es muy rápida y nunca falla.
Esta función se introdujo en Qt 6.8.
[since 6.8] QGrpcChannelOptions::operator QVariant() const
Construye un nuevo QVariant a partir de este objeto.
Esta función se introdujo en Qt 6.8.
[noexcept] QGrpcChannelOptions &QGrpcChannelOptions::operator=(QGrpcChannelOptions &&other)
Mover-asigna other a este QGrpcChannelOptions y devuelve una referencia al objeto actualizado.
Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.
QGrpcChannelOptions &QGrpcChannelOptions::operator=(const QGrpcChannelOptions &other)
Asigna other a este QGrpcChannelOptions y devuelve una referencia al objeto actualizado.
No miembros relacionados
[noexcept, since 6.11] bool operator!=(const QGrpcChannelOptions &lhs, const QGrpcChannelOptions &rhs)
Devuelve true si deadlineTimeout, filterServerMetadata, metadata(QtGrpc::MultiValue_t), serializationFormat y sslConfiguration en lhs y rhs no son iguales.
Esta función se introdujo en Qt 6.11.
[since 6.8] QDebug operator<<(QDebug debug, const QGrpcChannelOptions &chOpts)
Escribe chOpts en el flujo especificado debug.
Esta función se introdujo en Qt 6.8.
[noexcept, since 6.11] bool operator==(const QGrpcChannelOptions &lhs, const QGrpcChannelOptions &rhs)
Devuelve true si deadlineTimeout, filterServerMetadata, metadata(QtGrpc::MultiValue_t), serializationFormat y sslConfiguration en lhs y rhs son iguales.
Esta función se introdujo en 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.