Auf dieser Seite

QAbstractGrpcChannel Class

Die Klasse QAbstractGrpcChannel bietet eine Schnittstelle zur Implementierung der Transportschicht von gRPC Operationen. Mehr...

Kopfzeile: #include <QAbstractGrpcChannel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Grpc)
target_link_libraries(mytarget PRIVATE Qt6::Grpc)
Seit: Qt 6.5
Geerbt von:

QGrpcHttp2Channel

Öffentliche Funktionen

virtual ~QAbstractGrpcChannel()
const QGrpcChannelOptions &channelOptions() const &
virtual std::shared_ptr<QAbstractProtobufSerializer> serializer() const = 0
(since 6.8) void setChannelOptions(QGrpcChannelOptions &&options)
(since 6.8) void setChannelOptions(const QGrpcChannelOptions &options)

Geschützte Funktionen

QAbstractGrpcChannel()
QAbstractGrpcChannel(const QGrpcChannelOptions &options)

Private Funktionen

(since 6.7) virtual void bidiStream(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0
(since 6.7) virtual void call(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0
(since 6.7) virtual void clientStream(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0
(since 6.7) virtual void serverStream(QGrpcOperationContext *operationContext, QByteArray &&messageData) = 0

Detaillierte Beschreibung

Implementieren Sie diese Schnittstelle, um einen benutzerdefinierten Kanal für gRPC Transport zu erstellen. Die Klasse QGrpcHttp2Channel wird als voll funktionsfähige Implementierung von QAbstractGrpcChannel für die HTTP/2-Kommunikation bereitgestellt.

Siehe auch QGrpcChannelOptions und QGrpcHttp2Channel.

Dokumentation der Mitgliedsfunktionen

[protected] QAbstractGrpcChannel::QAbstractGrpcChannel()

Standard - konstruiert den QAbstractGrpcChannel.

[explicit protected] QAbstractGrpcChannel::QAbstractGrpcChannel(const QGrpcChannelOptions &options)

Konstruiert den QAbstractGrpcChannel unter Verwendung der angegebenen options.

[virtual noexcept] QAbstractGrpcChannel::~QAbstractGrpcChannel()

Zerstört die QAbstractGrpcChannel.

[pure virtual private, since 6.7] void QAbstractGrpcChannel::bidiStream(QGrpcOperationContext *operationContext, QByteArray &&messageData)

Diese rein virtuelle Funktion wird aufgerufen, wenn ein Benutzer eine neue RPC über die generierte Client-Schnittstelle startet. Die operationContext sollte verwendet werden, um mit dem entsprechenden RPC-Handler zu kommunizieren, der ein abgeleiteter Typ des QGrpcOperation Objekts ist.

Diese Funktion sollte die entsprechende RPC auf der Kanalseite mit der serialisierten messageData starten. Die Implementierung muss asynchron sein und darf den aufrufenden Thread nicht blockieren.

Hinweis: Es liegt in der Verantwortung des Kanals, die Untermenge der Features zu unterstützen und einzuschränken, die sein RPC-Typ erlaubt.

Diese Funktion wurde in Qt 6.7 eingeführt.

[pure virtual private, since 6.7] void QAbstractGrpcChannel::call(QGrpcOperationContext *operationContext, QByteArray &&messageData)

Diese rein virtuelle Funktion wird aufgerufen, wenn ein Benutzer eine neue RPC über die generierte Client-Schnittstelle startet. Die operationContext sollte verwendet werden, um mit dem entsprechenden RPC-Handler zu kommunizieren, der ein abgeleiteter Typ des QGrpcOperation Objekts ist.

Diese Funktion sollte die entsprechende RPC auf der Kanalseite mit der serialisierten messageData starten. Die Implementierung muss asynchron sein und darf den aufrufenden Thread nicht blockieren.

Hinweis: Es liegt in der Verantwortung des Kanals, die Untermenge der Features zu unterstützen und einzuschränken, die sein RPC-Typ erlaubt.

Diese Funktion wurde in Qt 6.7 eingeführt.

[noexcept] const QGrpcChannelOptions &QAbstractGrpcChannel::channelOptions() const &

Gibt die vom Kanal genutzten Optionen zurück.

Siehe auch setChannelOptions.

[pure virtual private, since 6.7] void QAbstractGrpcChannel::clientStream(QGrpcOperationContext *operationContext, QByteArray &&messageData)

Diese rein virtuelle Funktion wird aufgerufen, wenn ein Benutzer eine neue RPC über die generierte Client-Schnittstelle startet. Die operationContext sollte verwendet werden, um mit dem entsprechenden RPC-Handler zu kommunizieren, der ein abgeleiteter Typ des QGrpcOperation Objekts ist.

Diese Funktion sollte die entsprechende RPC auf der Kanalseite mit der serialisierten messageData starten. Die Implementierung muss asynchron sein und darf den aufrufenden Thread nicht blockieren.

Hinweis: Es liegt in der Verantwortung des Kanals, die Untermenge der Features zu unterstützen und einzuschränken, die sein RPC-Typ erlaubt.

Diese Funktion wurde in Qt 6.7 eingeführt.

[pure virtual] std::shared_ptr<QAbstractProtobufSerializer> QAbstractGrpcChannel::serializer() const

Diese rein virtuelle Funktion ruft die QAbstractProtobufSerializer ab, die für die Serialisierung und Deserialisierung von Nachrichten verwendet wird.

[pure virtual private, since 6.7] void QAbstractGrpcChannel::serverStream(QGrpcOperationContext *operationContext, QByteArray &&messageData)

Diese rein virtuelle Funktion wird aufgerufen, wenn ein Benutzer eine neue RPC über die generierte Client-Schnittstelle startet. Die operationContext sollte verwendet werden, um mit dem entsprechenden RPC-Handler zu kommunizieren, der ein abgeleiteter Typ des QGrpcOperation Objekts ist.

Diese Funktion sollte die entsprechende RPC auf der Kanalseite mit der serialisierten messageData starten. Die Implementierung muss asynchron sein und darf den aufrufenden Thread nicht blockieren.

Hinweis: Es liegt in der Verantwortung des Kanals, die Untermenge der Features zu unterstützen und einzuschränken, die sein RPC-Typ erlaubt.

Diese Funktion wurde in Qt 6.7 eingeführt.

[since 6.8] void QAbstractGrpcChannel::setChannelOptions(const QGrpcChannelOptions &options)

[since 6.8] void QAbstractGrpcChannel::setChannelOptions(QGrpcChannelOptions &&options)

Legt den Kanal options fest.

Hinweis: Die aktualisierten Kanaloptionen haben keine Auswirkungen auf derzeit aktive Aufrufe oder Streams. Die überarbeiteten Optionen gelten nur für neue RPCs, die über diesen Kanal erfolgen.

Diese Funktionen wurden in Qt 6.8 eingeführt.

Siehe auch channelOptions.

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