QGrpcChannelOptions Class

QGrpc채널옵션 클래스는 gRPC 채널 미세 조정을 위한 다양한 옵션을 제공합니다. 더 보기...

Header: #include <QGrpcChannelOptions>
CMake: find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
이후 Qt 6.6
QML에서: GrpcChannelOptions

공용 함수

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

상세 설명

QGrpc채널옵션으로 채널을 사용자 지정할 수 있습니다. gRPC 채널. 일부 옵션은 서비스와 통신하는 데 사용되는 연결된 채널에서 작동하는 모든 원격 프로시저 호출(RPC)에 적용됩니다.

QGrpcCallOptions 으로 특정 RPC에 대한 옵션을 재정의합니다.

QGrpcChannelOptions channelOpts;// 모든 RPC에 공통 메타데이터 적용channelOpts.setMetadata({ { "header" , "value1" },{ "header" , "value2" },});const auto &md = channelOpts.metadata(QtGrpc::MultiValue);qDebug() << "Channel Metadata: " << md;

// 모든 RPC에 2초 기한을 적용합니다채널Opts.setDeadlineTimeout(2s);qDebug() << "Channel timeout: " << channelOpts.deadlineTimeout();

// SSL/TLS 구성 설정채널옵스.setSslConfiguration(QSslConfiguration());

참고: 이러한 옵션의 세부 사항을 결정하는 것은 채널의 구현에 달려 있습니다.

멤버 함수 문서

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

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

이 함수는 버전 6.13에서 더 이상 사용되지 않을 예정입니다.

대신 metadata(QtGrpc::MultiValue)를 사용하십시오.

메타데이터를 반환합니다. 이 필드가 설정되지 않은 경우 빈 메타데이터를 반환합니다.

참고: QGrpcHttp2Channel 은 메타데이터를 HTTP/2 헤더로 전송합니다. 키는 대소문자를 구분하지 않는 ASCII 문자열입니다. : (의사 헤더), grpc- 또는 qtgrpc- 와 같은 내부 접두사는 사용하지 않아야 합니다. 값은 ASCII 문자열 또는 바이너리 데이터일 수 있습니다. 자세한 내용은 RFC 7540, 섹션 8.1.2를 참조하세요.

metadata(QtGrpc::MultiValue_t) 및 setMetadata()도 참조하세요 .

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

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

이 기능은 버전 6.13에서 더 이상 사용되지 않을 예정입니다.

대신 QMultiHash 오버로드를 사용하세요.

metadata 을 설정하고 업데이트된 객체에 대한 참조를 반환합니다.

참고: QGrpcHttp2Channel 메타데이터를 HTTP/2 헤더로 전송합니다. 키는 대소문자를 구분하지 않는 ASCII 문자열입니다. : (의사 헤더), grpc- 또는 qtgrpc- 와 같은 내부 접두사는 사용하지 않아야 합니다. 값은 ASCII 문자열 또는 바이너리 데이터일 수 있습니다. 자세한 내용은 RFC 7540, 섹션 8.1.2를 참조하세요.

참고: 이 메타데이터는 채널을 통해 이루어지는 모든 RPC에 포함됩니다. 채널 메타데이터는 RPC가 시작될 때 모든 호출별 메타데이터와 병합됩니다 - QGrpcCallOptions::setMetadata(QMultiHash) 참조.

metadata()도 참조하세요 .

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

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

메타데이터를 반환합니다. 이 필드가 설정되지 않은 경우 빈 메타데이터를 반환합니다.

참고: QGrpcHttp2Channel 은 메타데이터를 HTTP/2 헤더로 전송합니다. 키는 대소문자를 구분하지 않는 ASCII 문자열입니다. : (의사 헤더), grpc- 또는 qtgrpc- 와 같은 내부 접두사는 사용하지 않아야 합니다. 값은 ASCII 문자열 또는 바이너리 데이터일 수 있습니다. 자세한 내용은 RFC 7540, 섹션 8.1.2를 참조하세요. 키당 여러 값을 지원합니다.

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

이 기능은 Qt 6.10에 도입되었습니다.

setMetadata참조하세요 .

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

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

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

metadata 을 설정하고 업데이트된 객체에 대한 참조를 반환합니다.

참고: QGrpcHttp2Channel 메타데이터를 HTTP/2 헤더로 전송합니다. 키는 대소문자를 구분하지 않는 ASCII 문자열입니다. : (의사 헤더), grpc- 또는 qtgrpc- 와 같은 내부 접두사는 사용하지 않아야 합니다. 값은 ASCII 문자열 또는 바이너리 데이터일 수 있습니다. 자세한 내용은 RFC 7540, 섹션 8.1.2를 참조하세요. 키당 여러 개의 값이 지원됩니다.

참고: 이 메타데이터는 채널을 통해 이루어지는 모든 RPC에 포함됩니다. 채널 메타데이터는 RPC가 시작될 때 모든 호출별 메타데이터와 병합됩니다 - QGrpcCallOptions::setMetadata(QMultiHash) 참조.

이 함수는 Qt 6.10에 도입되었습니다.

metadata(QtGrpc::MultiValue_t)도 참조하세요 .

QGrpcChannelOptions::QGrpcChannelOptions()

기본값 - 빈 QGrpc채널옵션을 생성합니다.

QGrpcChannelOptions::QGrpcChannelOptions(const QGrpcChannelOptions &other)

other 에서 QGrpc채널옵션을 복사-구축합니다.

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

Move는 other 에서 새 QGrpcChannelOptions을 생성합니다.

참고: 이동한 개체 other 는 부분적으로 형성된 상태로 배치되며, 유효한 작업은 소멸과 새 값 할당뿐입니다.

[noexcept] QGrpcChannelOptions::~QGrpcChannelOptions()

QGrpcChannelOptions 를 파괴합니다.

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

정확한 쌍이 아직 포함되지 않은 경우 metadatakeyvalue 을 추가합니다. 동일한 키가 다른 값으로 여러 번 나타날 수 있습니다.

참고: QGrpcHttp2Channel 메타데이터를 HTTP/2 헤더로 전송합니다. 키는 대소문자를 구분하지 않는 ASCII 문자열입니다. : (의사 헤더), grpc- 또는 qtgrpc- 와 같은 내부 접두사는 사용하지 않아야 합니다. 값은 ASCII 문자열 또는 바이너리 데이터일 수 있습니다. 자세한 내용은 RFC 7540, 섹션 8.1.2를 참조하세요.

참고: 이 메타데이터는 채널을 통해 이루어지는 모든 RPC에 포함됩니다. 채널 메타데이터는 RPC가 시작될 때 모든 호출별 메타데이터와 병합됩니다 - QGrpcCallOptions::addMetadata() 참조.

이 기능은 Qt 6.10에 도입되었습니다.

metadata() 및 setMetadata()도 참조하세요 .

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

채널의 마감일을 계산하는 데 사용되는 시간 초과 기간을 반환합니다.

이 필드가 설정되지 않은 경우 빈 std::optional 을 반환합니다.

setDeadlineTimeout()도 참조하세요 .

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

프로토콜 관련 서버 메타데이터가 결과에서 제외된 경우 true 을 반환합니다. 서버에서 받은 모든 메타데이터를 포함하려면 false 을 반환합니다.

이 필드가 설정되지 않은 경우, 빈 std::optional 을 반환합니다.

이 함수는 Qt 6.11에 도입되었습니다.

setFilterServerMetadata() 및 QGrpcCallOptions::filterServerMetadata()도 참조하세요 .

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

채널에서 사용하는 직렬화 형식을 반환합니다.

이 필드가 설정되지 않은 경우 Default 구조화된 직렬화 형식을 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

setSerializationFormat()도 참조하세요 .

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

timeout 을 설정하고 업데이트된 객체에 대한 참조를 반환합니다.

기한은 클라이언트가 서버의 응답을 기다릴 수 있는 기간의 제한을 설정합니다. 실제 기한은 RPC의 시작 시간에 timeout 을 더하여 계산됩니다.

기한은 이전에 시작된 호출에 대한 최종 QGrpcStatus 수신을 포함하여 RPC의 전체 수명에 적용되므로 (수명이 긴) 스트림에는 원하지 않을 수 있습니다.

참고: 이 필드를 설정하면 QGrpcCallOptions::setDeadlineTimeout()로 재정의된 것을 제외하고 채널에서 작동하는 모든 RPC에 적용됩니다.

deadlineTimeout()도 참조하세요 .

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

valuetrue 인 경우 gRPC 전송에 의해 정의된 프로토콜 관련 메타데이터(예: 예약된 grpc- 키)는 제외됩니다. valuefalse 인 경우 서버에서 받은 모든 메타데이터가 포함됩니다.

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

QT_END_NAMESPACE

참고: 이 필드를 설정하면 채널에서 작동하는 모든 RPC에 적용되며, 다음에 의해 재정의된 RPC는 제외됩니다. QGrpcCallOptions::filterServerMetadata

이 함수는 Qt 6.11에 도입되었습니다.

filterServerMetadata() 및 QGrpcCallOptions::setFilterServerMetadata()도 참조하십시오 .

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

채널에 대한 직렬화 format 를 설정하고 업데이트된 객체에 대한 참조를 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

serializationFormat()도 참조하십시오 .

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

채널에 대해 sslConfiguration 을 설정하고 업데이트된 객체에 대한 참조를 반환합니다.

sslConfiguration()도 참조하세요 .

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

채널의 SSL 구성을 반환합니다.

이 필드가 설정되지 않은 경우 빈 std::optional 을 반환합니다.

setSslConfiguration()도 참조하세요 .

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

other 를 이 객체로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

이 함수는 Qt 6.8에 도입되었습니다.

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

이 객체에서 새 QVariant 을 만듭니다.

이 함수는 Qt 6.8에 도입되었습니다.

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

이동 - other 을 이 QGrpcChannelOptions 에 할당하고 업데이트된 객체에 대한 참조를 반환합니다.

참고: 이동한 개체 other 는 부분적으로 형성된 상태로 배치되며, 유효한 작업은 파괴와 새 값 할당뿐입니다.

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

other 을 이 QGrpcChannelOptions 에 할당하고 업데이트된 객체에 대한 참조를 반환합니다.

관련 비회원

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

chOpts 을 지정된 스트림 debug 에 씁니다.

이 함수는 Qt 6.8에 도입되었습니다.

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