Spec-Zone.ru › Qt 6.1

Класс QHttp2Configuration

Класс QHttp2Configuration управляет параметрами и настройками HTTP/2. Подробнее...

Заголовок: #include <QHttp2Configuration>
CMake: find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
С тех пор: Qt 5.14
  • Список всех членов, включая унаследованные члены

Примечание: Все функции в этом классе являются реентерабельными.

Публичные функции

QHttp2Configuration(QHttp2Configuration &&other)
QHttp2Configuration(const QHttp2Configuration &other)
QHttp2Configuration()
QHttp2Configuration & operator=(QHttp2Configuration &&other)
QHttp2Configuration & operator=(const QHttp2Configuration &other)
~QHttp2Configuration()
bool huffmanCompressionEnabled() const
unsigned int maxFrameSize() const
bool serverPushEnabled() const
unsigned int sessionReceiveWindowSize() const
void setHuffmanCompressionEnabled(bool enable)
bool setMaxFrameSize(unsigned int size)
void setServerPushEnabled(bool enable)
bool setSessionReceiveWindowSize(unsigned int size)
bool setStreamReceiveWindowSize(unsigned int size)
unsigned int streamReceiveWindowSize() const
void swap(QHttp2Configuration &other)

Связанные нечлены

bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)

Подробное описание

QHttp2Configuration управляет параметрами HTTP/2, которые QNetworkAccessManager будет использовать для отправки запросов и обработки ответов, когда протокол HTTP/2 включен.

Текущие параметры HTTP/2, поддерживаемые QHttp2Configuration, включают:

  • Размер окна сеанса для управления потоком на уровне соединения. Будет отправлен удалённому узлу при необходимости в виде кадров 'WINDOW_UPDATE' на потоке с идентификатором 0.
  • Размер окна приема потока для управления потоком на уровне потока. Отправляется как параметр 'SETTINGS_INITIAL_WINDOW_SIZE' в начальном кадре SETTINGS и, при необходимости, кадры 'WINDOW_UPDATE' будут отправлены на потоках, которые открывает QNetworkAccessManager.
  • Максимальный размер кадра. Этот параметр ограничивает максимальную полезную нагрузку кадра, полученного от удаленного узла. Отправляется QNetworkAccessManager как параметр 'SETTINGS_MAX_FRAME_SIZE' в начальный кадр 'SETTINGS'.
  • Серверный push. Позволяет включить или отключить серверный push. Отправляется как параметр 'SETTINGS_ENABLE_PUSH' в начальный кадр 'SETTINGS'.

Класс QHttp2Configuration также управляет тем, использует ли алгоритм сжатия заголовков (HPACK) в дополнение кодирование Хаффмана для сжатия строк.

Примечание: Настройка должна быть выполнена до отправки первого запроса на данный хост (и, следовательно, установления сеанса HTTP/2).

Примечание: Подробности о управлении потоками, серверном push и 'SETTINGS' можно найти в RFC 7540. Различные режимы и параметры алгоритма сжатия HPACK описаны в RFC 7541.

См. также QNetworkRequest::setHttp2Configuration(), QNetworkRequest::http2Configuration(), и QNetworkAccessManager.

Документация по функциям-членам

QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other)

Конструктор перемещения для QHttp2Configuration из other

QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &other)

Конструктор копирования для QHttp2Configuration.

QHttp2Configuration::QHttp2Configuration()

Конструктор по умолчанию для объекта QHttp2Configuration.

В такой конфигурации следующие значения:

  • Серверный push отключён
  • Сжатие строк Хаффмана включено
  • Размер окна для управления потоком на уровне соединения — 65535 байт
  • Размер окна для управления потоком на уровне потока — 65535 байт
  • Размер кадра — 16384 байт

QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&other)

Перемещающее присваивание other этому QHttp2Configuration.

QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &other)

Копирующее присваивание other этому QHttp2Configuration.

QHttp2Configuration::~QHttp2Configuration()

Деструктор.

bool QHttp2Configuration::huffmanCompressionEnabled() const

Возвращает true если кодирование Хаффмана в HPACK включено.

См. также setHuffmanCompressionEnabled.

unsigned int QHttp2Configuration::maxFrameSize() const

Возвращает максимальный размер полезной нагрузки, который могут иметь кадры HTTP/2. Значение по умолчанию (начальное) — 16384 байт.

См. также setMaxFrameSize().

bool QHttp2Configuration::serverPushEnabled() const

Возвращает true, если серверный push был включён.

Примечание: По умолчанию, QNetworkAccessManager отключает серверный push через кадр 'SETTINGS'.

См. также setServerPushEnabled.

unsigned int QHttp2Configuration::sessionReceiveWindowSize() const

Возвращает размер окна для управления потоком на уровне соединения. Значение по умолчанию, которое будет использовать QNetworkAccessManager, — 2147483647 байт.

См. также setSessionReceiveWindowSize().

void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)

Если enable — true, сжатие HPACK дополнительно будет сжимать строки с помощью кодирования Хаффмана. Включено по умолчанию.

Примечание: Этот параметр влияет только на кадры 'HEADERS', которые отправляет QNetworkAccessManager.

См. также huffmanCompressionEnabled.

bool QHttp2Configuration::setMaxFrameSize(unsigned int size)

Устанавливает максимальный размер фрейма, который QNetworkAccessManager будет объявлять серверу при отправке своего начального фрейма SETTINGS.

Примечание: Хотя этот size должен быть в диапазоне от 16384 до 16777215 включительно, фактический размер полезной нагрузки во фреймах, несущих полезную нагрузку, может быть меньше 16384.

Возвращает true при успехе, false в противном случае.

См. также maxFrameSize().

void QHttp2Configuration::setServerPushEnabled(bool enable)

Если enable равно true, удаленный сервер потенциально может использовать серверный пуш для отправки ответов заранее.

См. также serverPushEnabled.

bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned int size)

Устанавливает размер окна для управления потоком на уровне соединения. size не может быть 0 и не должно превышать 2147483647 октетов.

Возвращает true при успехе, false в противном случае.

См. также sessionReceiveWindowSize.

bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned int size)

Устанавливает размер окна для управления потоком на уровне потока. size не может быть 0 и не должно превышать 2147483647 октетов.

Возвращает true при успехе, false в противном случае.

См. также streamReceiveWindowSize.

unsigned int QHttp2Configuration::streamReceiveWindowSize() const

Возвращает размер окна для управления потоком на уровне потока. Значение по умолчанию, которое будет использовать QNetworkAccessManager, составляет 21474836 октетов.

См. также setStreamReceiveWindowSize().

void QHttp2Configuration::swap(QHttp2Configuration &other)

Меняет местами эту конфигурацию с конфигурацией other.

Связанные нечленные функции

bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)

Возвращает true если lhs и rhs не имеют одинакового набора параметров HTTP/2.

bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)

Возвращает true если lhs и rhs имеют одинаковый набор параметров HTTP/2.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qhttp2configuration.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API