- Qt 6.9
- Qt GRPC
- C++ Classes
- QGrpcChannelOptions
- Qt 6.9.2 Reference Documentation

# QGrpcChannelOptions Class

The QGrpcChannelOptions class offers various options for fine-tuning a gRPC channel. More...

Header: | `#include <QGrpcChannelOptions>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Grpc)` `target_link_libraries(mytarget PRIVATE Qt6::Grpc)`
Since: | Qt 6.6
In QML: | GrpcChannelOptions

- List of all members, including inherited members

## Public Functions

| QGrpcChannelOptions()
| QGrpcChannelOptions(const QGrpcChannelOptions &other)
| QGrpcChannelOptions(QGrpcChannelOptions &&other)
| ~QGrpcChannelOptions()
std::optional<std::chrono::milliseconds> | deadlineTimeout() const
QHash<QByteArray, QByteArray> | metadata() &&
const QHash<QByteArray, QByteArray> & | metadata() const &
`(since 6.8)` QGrpcSerializationFormat | serializationFormat() const
QGrpcChannelOptions & | setDeadlineTimeout(std::chrono::milliseconds timeout)
QGrpcChannelOptions & | setMetadata(QHash<QByteArray, QByteArray> &&metadata)
QGrpcChannelOptions & | setMetadata(const QHash<QByteArray, QByteArray> &metadata)
`(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)

## Related Non-Members

`(since 6.8)` QDebug | operator<<(QDebug debug, const QGrpcChannelOptions &chOpts)

## Detailed Description

QGrpcChannelOptions lets you customize a gRPC™ channel. Some options apply to all remote procedure calls (RPCs) that operate on the associated channel, which is used to communicate with services.

Override options for specific RPCs with QGrcCallOptions.

Note: It is up to the channel's implementation to determine the specifics of these options.

## Member Function Documentation

### QGrpcChannelOptions &QGrpcChannelOptions::setMetadata(QHash<QByteArray, QByteArray> &&metadata)

### QGrpcChannelOptions &QGrpcChannelOptions::setMetadata(const QHash<QByteArray, QByteArray> &metadata)

Sets the client metadata for the channel and returns a reference to the updated object.

QGrpcHttp2Channel converts the metadata into appropriate HTTP/2 headers which will be added to the HTTP/2 request.

Note: The metadata set via the channel options applies to all RPCs that operate on the channel, except those overridden by QGrpcCallOptions::setMetadata().

### QHash<QByteArray, QByteArray> QGrpcChannelOptions::metadata() &&

### `[noexcept]` const QHash<QByteArray, QByteArray> &QGrpcChannelOptions::metadata() const &

Returns the client metadata for the channel.

If this field is unset, returns empty metadata.

### QGrpcChannelOptions::QGrpcChannelOptions()

Default-constructs an empty QGrpcChannelOptions.

### QGrpcChannelOptions::QGrpcChannelOptions(const QGrpcChannelOptions &other)

Copy-constructs a QGrpcChannelOptions from other.

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

Move-constructs a new QGrpcChannelOptions from other.

Note: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.

### `[noexcept]` QGrpcChannelOptions::~QGrpcChannelOptions()

Destroys the QGrpcChannelOptions.

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

Returns the timeout duration that is used to calculate the deadline for the channel.

If this field is unset, returns an empty `std::optional`.

See also setDeadlineTimeout().

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

Returns the serialization format used by the channel.

If this field is unset, returns a Default constructed serialization format.

This function was introduced in Qt 6.8.

See also setSerializationFormat().

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

Sets the timeout for the channel and returns a reference to the updated object.

A deadline sets the limit for how long a client is willing to wait for a response from a server. The actual deadline is computed by adding the timeout to the start time of the RPC.

The deadline applies to the entire lifetime of an RPC, which includes receiving the final QGrpcStatus for a previously started call and can thus be unwanted for (long-lived) streams.

Note: The deadline set via the channel options applies to all RPCs that operate on the channel, except those overridden by QGrpcCallOptions::setDeadline().

See also deadlineTimeout().

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

Sets the serialization format for the channel and returns a reference to the updated object.

This function was introduced in Qt 6.8.

See also serializationFormat().

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

Sets the sslConfiguration for the channel and returns a reference to the updated object.

See also sslConfiguration().

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

Returns the SSL configuration for the channel.

If this field is unset, returns an empty `std::optional`.

See also setSslConfiguration().

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

Swaps other with this object. This operation is very fast and never fails.

This function was introduced in Qt 6.8.

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

Constructs a new QVariant from this object.

This function was introduced in Qt 6.8.

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

Move-assigns other to this QGrpcChannelOptions and returns a reference to the updated object.

Note: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.

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

Assigns other to this QGrpcChannelOptions and returns a reference to the updated object.

## Related Non-Members

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

Writes chOpts to the specified stream debug.

This function was introduced in Qt 6.8.