Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
http2protocol_p.h File Reference

(a246286c46b7009ac759134269d4405b07535ef2)

#include <QtNetwork/qnetworkreply.h>
#include <QtCore/qloggingcategory.h>
#include <QtCore/qmetatype.h>
#include <QtCore/private/qglobal_p.h>
#include <QtCore/qmap.h>
#include <vector>
+ Include dependency graph for http2protocol_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Http2
 

Enumerations

enum class  Http2::Settings : quint16 {
  Http2::HEADER_TABLE_SIZE_ID = 0x1 , Http2::ENABLE_PUSH_ID = 0x2 , Http2::MAX_CONCURRENT_STREAMS_ID = 0x3 , Http2::INITIAL_WINDOW_SIZE_ID = 0x4 ,
  Http2::MAX_FRAME_SIZE_ID = 0x5 , Http2::MAX_HEADER_LIST_SIZE_ID = 0x6
}
 
enum class  Http2::FrameType : uchar {
  Http2::DATA = 0x0 , Http2::HEADERS = 0x1 , Http2::PRIORITY = 0x2 , Http2::RST_STREAM = 0x3 ,
  Http2::SETTINGS = 0x4 , Http2::PUSH_PROMISE = 0x5 , Http2::PING = 0x6 , Http2::GOAWAY = 0x7 ,
  Http2::WINDOW_UPDATE = 0x8 , Http2::CONTINUATION = 0x9 , Http2::LAST_FRAME_TYPE
}
 
enum class  Http2::FrameFlag : uchar {
  Http2::EMPTY = 0x0 , Http2::ACK = 0x1 , Http2::END_STREAM = 0x1 , Http2::END_HEADERS = 0x4 ,
  Http2::PADDED = 0x8 , Http2::PRIORITY = 0x20
}
 
enum  Http2::Http2PredefinedParameters {
  Http2::clientPrefaceLength = 24 , Http2::connectionStreamID = 0 , Http2::frameHeaderSize = 9 , Http2::minPayloadLimit = 16384 ,
  Http2::maxPayloadSize = (1 << 24) - 1 , Http2::defaultSessionWindowSize = 65535 , Http2::maxConcurrentStreams = 100
}
 
enum class  Http2::FrameStatus { Http2::protocolError , Http2::sizeError , Http2::incompleteFrame , Http2::goodFrame }
 
enum  Http2::Http2Error {
  Http2::HTTP2_NO_ERROR = 0x0 , Http2::PROTOCOL_ERROR = 0x1 , Http2::INTERNAL_ERROR = 0x2 , Http2::FLOW_CONTROL_ERROR = 0x3 ,
  Http2::SETTINGS_TIMEOUT = 0x4 , Http2::STREAM_CLOSED = 0x5 , Http2::FRAME_SIZE_ERROR = 0x6 , Http2::REFUSE_STREAM = 0x7 ,
  Http2::CANCEL = 0x8 , Http2::COMPRESSION_ERROR = 0x9 , Http2::CONNECT_ERROR = 0xa , Http2::ENHANCE_YOUR_CALM = 0xb ,
  Http2::INADEQUATE_SECURITY = 0xc , Http2::HTTP_1_1_REQUIRED = 0xd
}
 

Functions

const quint32 Http2::lastValidStreamID ((quint32(1)<< 31) - 1)
 
const qint32 Http2::maxSessionReceiveWindowSize ((quint32(1)<< 31) - 1)
 
Frame Http2::configurationToSettingsFrame (const QHttp2Configuration &config)
 
QByteArray Http2::settingsFrameToBase64 (const Frame &frame)
 
void Http2::appendProtocolUpgradeHeaders (const QHttp2Configuration &config, QHttpNetworkRequest *request)
 
std::vector< ucharHttp2::assemble_hpack_block (const std::vector< Frame > &frames)
 
void Http2::qt_error (quint32 errorCode, QNetworkReply::NetworkError &error, QString &errorMessage)
 
QString Http2::qt_error_string (quint32 errorCode)
 
QNetworkReply::NetworkError Http2::qt_error (quint32 errorCode)
 
bool Http2::is_protocol_upgraded (const QHttpNetworkReply &reply)
 

Variables

const qint32 Http2::qtDefaultStreamReceiveWindowSize = maxSessionReceiveWindowSize / 10