Spec-Zone.ru › Qt 6.0

Класс 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'.
  • Серверная отправка. Позволяет включить или отключить серверную отправку. Отправляется как параметр 'SETTINGS_ENABLE_PUSH' в начальном фрейме 'SETTINGS'.

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

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

Примечание: Сведения о управлении потоком, серверной отправке и '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.

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

  • Серверная отправка отключена
  • Сжатие строк Хаффмана включено
  • Размер окна для управления потоком на уровне соединения составляет 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, если серверная отправка была включена.

Примечание: По умолчанию QNetworkAccessManager отключает серверную отправку через фрейм '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.0/qhttp2configuration.html

Spec-Zone.ru

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