The QGrpcOperation class provides common operations to handle the gRPC ™ communication from the client side. 更多...
| 头: |
#include <QGrpcOperation>
|
| CMake: |
find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
|
| Since: | 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 |
(从 6.8 起)
bool
|
read (QProtobufMessage * message ) const |
| QMetaType | responseMetaType () const |
(从 6.10 起)
const QMultiHash<QByteArray, QByteArray> &
|
serverInitialMetadata () const & |
(从 6.10 起)
const QMultiHash<QByteArray, QByteArray> &
|
serverTrailingMetadata () const & |
| void | cancel () |
| void | finished (const QGrpcStatus & status ) |
QGrpcOperation serves as the base class for the four gRPC ™ method types: QGrpcCallReply (unary calls), QGrpcServerStream (server streaming), QGrpcClientStream (client streaming), and QGrpcBidiStream (bidirectional streaming). It provides a common interface for interacting with these remote procedure calls (RPCs).
Each QGrpcOperation corresponds to a specific RPC requested through the generated client interface.
For a high-level overview, refer to the Qt GRPC Client Guide .
[override virtual noexcept]
QGrpcOperation::
~QGrpcOperation
()
销毁 QGrpcOperation .
[slot]
void
QGrpcOperation::
cancel
()
Tries to cancel the RPC immediately. Successful cancellation cannot be guaranteed. Emits the finished signal with a Cancelled status code.
另请参阅 QGrpcOperationContext::cancelRequested .
[signal]
void
QGrpcOperation::
finished
(const
QGrpcStatus
&
status
)
This signal is emitted when a previously started RPC has finished. The status provides additional information about the outcome of the RPC.
After this signal is received, no further write or read operations should be performed on the operation object. At this point, it is safe to reuse or destroy the RPC object.
注意: This signal is emitted only once, and in most cases, you will want to disconnect right after receiving it to avoid issues, such as lambda captures not being destroyed after receiving the signal. An easy way to achieve this is by using the SingleShotConnection connection type. See Single Shot RPCs 进一步了解细节。
[noexcept]
bool
QGrpcOperation::
isFinished
() const
Returns true if this operation has finished, meaning that no more operations can happen on the corresponding RPC, otherwise returns false.
[noexcept, until 6.13]
const
QHash
<
QByteArray
,
QByteArray
> &QGrpcOperation::
metadata
() const &
该函数计划在 6.13 版弃用。
使用 serverInitialMetadata () 和 serverTrailingMetadata () 代替。
Returns the initial metadata received from the server before any response messages.
Initial metadata is sent by the server immediately after the call is established. It may include key-value pairs that provide context for the call.
注意:
QGrpcHttp2Channel
transports metadata as HTTP/2 headers.
键
are case-insensitive ASCII strings. You must avoid using the internal prefixes:
:
(pseudo-header),
grpc-
,或
qtgrpc-
.
值
may be either ASCII strings or binary data. For more information, see
RFC 7540, Section 8.1.2
.
另请参阅 serverInitialMetadata () 和 serverTrailingMetadata ().
[noexcept]
QLatin1StringView
QGrpcOperation::
method
() const
Returns the method name associated with this RPC operation.
Reads a message from a raw byte array stored within this operation object.
Returns an optional deserialized message. On failure,
std::nullopt
被返回。
注意:
This function only participates in overload resolution if
T
是子类化的
QProtobufMessage
.
另请参阅 read (QProtobufMessage *).
[since 6.8]
bool
QGrpcOperation::
read
(
QProtobufMessage
*
message
) const
Reads a message from a raw byte array stored within this operation object.
The function writes the deserialized value to the message 指针。
If the deserialization is successful, this function returns
true
. Otherwise, it returns
false
.
该函数在 Qt 6.8 引入。
另请参阅 read ().
Returns the meta type of the RPC response message.
[noexcept, since 6.10]
const
QMultiHash
<
QByteArray
,
QByteArray
> &QGrpcOperation::
serverInitialMetadata
() const &
Returns the initial metadata received from the server before any response messages.
Initial metadata is sent by the server immediately after the call is established. It may include key-value pairs that provide context for the call.
注意:
QGrpcHttp2Channel
transports metadata as HTTP/2 headers.
键
are case-insensitive ASCII strings. You must avoid using the internal prefixes:
:
(pseudo-header),
grpc-
,或
qtgrpc-
.
值
may be either ASCII strings or binary data. For more information, see
RFC 7540, Section 8.1.2
.
The metadata may contain multiple entries under the same key.
该函数在 Qt 6.10 引入。
另请参阅 serverInitialMetadataReceived() and serverTrailingMetadata ().
[noexcept, since 6.10]
const
QMultiHash
<
QByteArray
,
QByteArray
> &QGrpcOperation::
serverTrailingMetadata
() const &
Returns the trailing metadata received from the server after all response messages.
Trailing metadata is sent only by the server once all response messages have been sent and just before the RPC completes. It may include key-value pairs providing additional context about the completed call.
注意:
QGrpcHttp2Channel
transports metadata as HTTP/2 headers.
键
are case-insensitive ASCII strings. You must avoid using the internal prefixes:
:
(pseudo-header),
grpc-
,或
qtgrpc-
.
值
may be either ASCII strings or binary data. For more information, see
RFC 7540, Section 8.1.2
.
The metadata may contain multiple entries under the same key.
该函数在 Qt 6.10 引入。
另请参阅 serverInitialMetadata ().