QGrpcOperation Class

QGrpcOperation 클래스는 클라이언트 측의 통신을 처리하기 위한 gRPC 통신을 처리하는 일반적인 연산을 제공합니다. 더 보기...

Header: #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
const QHash<QByteArray, QByteArray> &metadata() const &
QLatin1StringView method() const
std::optional<T> read() const
(since 6.8) bool read(QProtobufMessage *message) const

공개 슬롯

void cancel()

시그널

void finished(const QGrpcStatus &status)

상세 설명

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 연결 유형을 사용하는 것입니다. 자세한 내용은 싱글샷 RPC를 참조하세요.

[noexcept] bool QGrpcOperation::isFinished() const

이 작업이 완료되면 참을 반환하며, 이는 해당 RPC에서 더 이상 작업을 수행할 수 없음을 의미하고, 그렇지 않으면 거짓을 반환합니다.

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

채널에서 받은 서버 메타데이터를 반환합니다.

참고: HTTP/2 channels 의 경우 일반적으로 서버에서 받은 HTTP 헤더가 포함됩니다.

[noexcept] QLatin1StringView QGrpcOperation::method() const

이 RPC 연산과 연관된 메서드 이름을 반환합니다.

template <typename T, QtProtobuf::if_protobuf_message<T> = true> std::optional<T> QGrpcOperation::read() const

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

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

참고: 이 함수는 TQProtobufMessage 의 서브 클래스인 경우에만 과부하 해결에 참여합니다.

read(QProtobufMessage *)도 참조하세요 .

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

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

이 함수는 역직렬화된 값을 message 포인터에 씁니다.

역직렬화에 성공하면 이 함수는 true 을 반환합니다. 그렇지 않으면 false 을 반환합니다.

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

read()도 참조하십시오 .

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