이 페이지에서

QGrpcOperation Class

QGrpcOperation 클래스는 클라이언트 측에서 gRPC™ 클라이언트 측에서의 통신을 처리하는 데 필요한 일반적인 기능을 제공합니다. 더 보기...

헤더: #include <QGrpcOperation>
CMake: find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
다음과 같이: Qt 6.5
상속받음: QObject
상속받는 클래스:

QGrpcBidiStream, QGrpcCallReply, QGrpcClientStream 및 QGrpcServerStream

공개 함수

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 &

공개 슬롯

void cancel()

신호

void finished(const QGrpcStatus &status)
(since 6.11) void serverInitialMetadataReceived(const QMultiHash<QByteArray, QByteArray> &metadata)

상세 설명

QGrpcOperation은 다음 네 가지 gRPC™QGrpcCallReply (단항 호출), QGrpcServerStream (서버 스트리밍), QGrpcClientStream (클라이언트 스트리밍), QGrpcBidiStream (양방향 스트리밍)의 네 가지 메서드 유형에 대한 기본 클래스 역할을 합니다. 이 클래스는 이러한 원격 프로시저 호출(RPC)과 상호 작용하기 위한 공통 인터페이스를 제공합니다.

각 QGrpcOperation은 생성된 클라이언트 인터페이스를 통해 요청된 특정 RPC에 해당합니다.

개요에 대해서는 ‘Qt GRPC 클라이언트 가이드’를 참조하십시오.

멤버 함수 문서

[override virtual noexcept] QGrpcOperation::~QGrpcOperation()

QGrpcOperation 를 삭제합니다.

[slot] void QGrpcOperation::cancel()

RPC를 즉시 취소하려고 시도합니다. 취소 성공 여부는 보장되지 않습니다. ‘ Cancelled ’ 상태 코드와 함께 ‘ finished ’ 신호를 발생시킵니다.

QGrpcOperationContext::cancelRequested도 참조하십시오 .

[signal] void QGrpcOperation::finished(const QGrpcStatus &status)

이 신호는 이전에 시작된 RPC가 완료되었을 때 발생합니다. ` status `는 RPC의 결과에 대한 추가 정보를 제공합니다.

이 신호를 수신한 후에는 해당 작업 객체에 대해 더 이상 쓰기 또는 읽기 작업을 수행해서는 안 됩니다. 이 시점에서는 RPC 객체를 재사용하거나 소멸시켜도 안전합니다.

참고: 이 신호는 한 번만 발생하며, 대부분의 경우 신호를 수신한 직후 연결을 해제하여 신호 수신 후 람다 캡처가 소멸되지 않는 등의 문제를 방지하는 것이 좋습니다. 이를 쉽게 구현하는 방법은 ‘ SingleShotConnection ’ 연결 유형을 사용하는 것입니다. 자세한 내용은 ‘Single Shot RPCs’를 참조하십시오.

[noexcept] bool QGrpcOperation::isFinished() const

이 작업이 완료된 경우(즉, 해당 RPC에 대해 더 이상 작업이 수행될 수 없는 경우) true를 반환하고, 그렇지 않은 경우 false를 반환합니다.

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

이 함수는 버전 6.13에서 사용 중단될 예정입니다.

대신 ` serverInitialMetadata()` 및 ` serverTrailingMetadata()`을 사용하십시오.

응답 메시지가 전송되기 전에 서버로부터 수신한 초기 메타데이터를 반환합니다.

초기 메타데이터는 호출이 설정된 직후 서버에서 전송됩니다. 여기에는 호출의 컨텍스트를 제공하는 키-값 쌍이 포함될 수 있습니다.

참고: grpc- 또는 qtgrpc- 접두사가 붙은키는 gRPC 및 QtGrpc 에 의해 예약되어 있습니다. 요청이 구성될 때, 이러한 키를 사용하는 제공된 항목은 무시됩니다. 구체적인 채널에 따라 추가적인 제한이 적용될 수 있습니다. QGrpcHttp2Channel#Reserved metadata keys 를 참조하십시오.

serverInitialMetadata() 및 serverTrailingMetadata()도 참조하십시오 .

[noexcept] QLatin1StringView QGrpcOperation::method() const

이 RPC 작업과 관련된 메서드 이름을 반환합니다.

template <typename T> requires QtProtobuf::if_protobuf_message<T> std::optional<T> QGrpcOperation::read() const

이 작업 객체 내에 저장된 원시 바이트 배열에서 메시지를 읽습니다.

선택적으로 역직렬화된 메시지를 반환합니다. 실패 시 ` std::nullopt `가 반환됩니다.

참고: 이 함수는 T 가 QProtobufMessage 의 하위 클래스인 경우에만 오버로드 해결에 참여합니다.

read(QProtobufMessage *)도 참조하십시오 .

[since 6.8] bool QGrpcOperation::read(QProtobufMessage *message) const

이 작업 객체에 저장된 원시 바이트 배열에서 메시지를 읽습니다.

이 함수는 역직렬화된 값을 ` message ` 포인터에 저장합니다.

직렬화 해제가 성공하면 이 함수는 ` true`를 반환합니다. 그렇지 않으면 ` false`를 반환합니다.

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

read()도 참조하십시오 .

QMetaType QGrpcOperation::responseMetaType() const

RPC 응답 메시지의 메타 유형을 반환합니다.

[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcOperation::serverInitialMetadata() const &

응답 메시지가 전송되기 전에 서버로부터 수신한 초기 메타데이터를 반환합니다.

초기 메타데이터는 연결이 수립된 직후 서버에서 전송됩니다. 여기에는 호출의 컨텍스트를 제공하는 키-값 쌍이 포함될 수 있습니다.

참고: grpc- 또는 qtgrpc- 접두사가 붙은키는 gRPC 및 QtGrpc 에서 예약되어 있습니다. 요청을 구성할 때 이러한 키를 사용하는 항목은 무시됩니다. 구체적인 채널에 따라 추가 제한이 적용될 수 있습니다. 자세한 내용은 QGrpcHttp2Channel#Reserved metadata keys 을 참조하십시오.

메타데이터에는 동일한 키 아래에 여러 항목이 포함될 수 있습니다.

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

serverInitialMetadataReceived() 및 serverTrailingMetadata()도 참조하십시오 .

[signal, since 6.11] void QGrpcOperation::serverInitialMetadataReceived(const QMultiHash<QByteArray, QByteArray> &metadata)

이 신호는 서버가 초기 메타데이터를 응답으로 보낼 때 발생합니다. 서버의 초기 메타데이터는 RPC의 초기 응답보다 먼저 클라이언트로 전송됩니다.

수신된 메타데이터는 metadata 에 제공되며, serverInitialMetadata()를 통해서도 확인할 수 있습니다.

참고: grpc- 또는 qtgrpc- 접두사가 붙은키는 gRPC 및 QtGrpc 에 의해 예약되어 있습니다. 요청을 구성할 때 이러한 키를 사용하여 제공된 항목은 무시됩니다. 구체적인 채널에 따라 추가 제한이 적용될 수 있습니다. 자세한 내용은 QGrpcHttp2Channel#Reserved metadata keys 를 참조하십시오.

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

serverInitialMetadata()도 참조하십시오 .

[noexcept, since 6.10] const QMultiHash<QByteArray, QByteArray> &QGrpcOperation::serverTrailingMetadata() const &

모든 응답 메시지가 전송된 후 서버로부터 수신된 후행 메타데이터를 반환합니다.

후행 메타데이터는 모든 응답 메시지가 전송된 후, RPC가 완료되기 직전에 서버에서만 전송됩니다. 여기에는 완료된 호출에 대한 추가적인 컨텍스트를 제공하는 키-값 쌍이 포함될 수 있습니다.

참고: grpc- 또는 qtgrpc- 접두사가 붙은키는 gRPC 및 QtGrpc 에서 예약되어 있습니다. 요청을 구성할 때 이러한 키를 사용하는 항목은 무시됩니다. 구체적인 채널에 따라 추가 제한이 적용될 수 있습니다. 자세한 내용은 QGrpcHttp2Channel#Reserved metadata keys 를 참조하십시오.

메타데이터에는 동일한 키 아래에 여러 항목이 포함될 수 있습니다.

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

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.