QGrpcHttp2Channel Class
QGrpcHttp2Channelクラスは、Qt NetworkHTTP/2実装に基づいた、QAbstractGrpcChannel のHTTP/2ベースです。詳細...
Header: | #include <QGrpcHttp2Channel> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
Since: | Qt 6.5 |
In QML: | GrpcHttp2Channel |
Inherits: | QAbstractGrpcChannel |
パブリック関数
QGrpcHttp2Channel(const QUrl &hostUri) | |
QGrpcHttp2Channel(const QUrl &hostUri, const QGrpcChannelOptions &options) | |
virtual | ~QGrpcHttp2Channel() override |
QUrl | hostUri() const |
詳細説明
QGrpcChannelOptions とQGrpcCallOptions を使用して、サーバーとの HTTP/2 通信を制御します。
QGrpcChannelOptions を使用して、SSL 設定、アプリケーション固有の HTTP/2 ヘッダー、接続タイムアウトを設定します。
QGrpcCallOptions 特定の単項呼び出しまたはgRPCストリームのチャネルパラメータを制御します。
QGrpcHttp2Channelは、QGrpcChannelOptions 、protobufメッセージのシリアライズ形式を選択します。シリアライズ形式は、content-type
メタデータを使用するか、QGrpcChannelOptions::serializationFormat を直接設定することで設定できます。
以下の例では、content-type
メタデータを使用して、JSONシリアライズ形式のQGrpcHttp2Channelを作成できます:
auto channelJson = std::make_shared< QGrpcHttp2Channel>(QGrpcChannelOptions{ QUrl("http://localhost:50051", QUrl::StrictMode) } .withMetadata({ { "content-type"_ba, "application/grpc+json"_ba } }));
また、以下のように独自のシリアライザやカスタムcontent-type
:
class DummySerializer : public QAbstractProtobufSerializer { ... }; auto channel = std::make_shared< QGrpcHttp2Channel>(QUrl("http://localhost:50051", QUrl::StrictMode), QGrpcChannelOptions{} .setSerializationFormat(QGrpcSerializationFormat{ "dummy", std::make_shared<DummySerializer>() }));
QGrpcHttp2ChannelはprotobufメッセージのシリアライズとデシリアライズにDummySerializer
、HTTP/2リクエストをサーバーに送信する際にcontent-type: application/grpc+dummy
ヘッダーを使用します。
QGrpcChannelOptions::serializationFormat の方が優先度が高く、 メタデータのサフィックスが、指定された の と一致しない場合、QGrpcHttp2Channel は警告を出します。content-type
QGrpcChannelOptions::serializationFormat QGrpcSerializationFormat::suffix
QGrpcChannelOptions,QGrpcCallOptions,QSslConfigurationも参照してください 。
メンバ関数ドキュメント
[explicit]
QGrpcHttp2Channel::QGrpcHttp2Channel(const QUrl &hostUri)
QGrpcHttp2Channel をhostUri で構築します。
[explicit]
QGrpcHttp2Channel::QGrpcHttp2Channel(const QUrl &hostUri, const QGrpcChannelOptions &options)
hostUri とoptions で QGrpcHttp2Channel を構築します。
[override virtual noexcept]
QGrpcHttp2Channel::~QGrpcHttp2Channel()
QGrpcHttp2Channel オブジェクトを破棄します。
QUrl QGrpcHttp2Channel::hostUri() const
このチャネルのホスト URI を返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。