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

詳細説明

QGrpcChannelOptionsQGrpcCallOptions を使用して、サーバーとの 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)

hostUrioptions で 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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。