5 #ifndef PROTOCOLHTTP2_H 6 #define PROTOCOLHTTP2_H 37 enum State { Idle, Open, HalfClosed, Closed };
41 qint64
doWrite(
const char *data, qint64 len)
override final;
53 qint32 windowSize = 65535;
54 qint64 contentLength = -1;
56 qint64 consumedData = 0;
70 inline void resetData()
override final 72 ProtocolData::resetData();
79 for (
const auto &stream : std::as_const(streams)) {
83 delete stream->context;
89 headersBuffer.
clear();
91 streamForContinuation = 0;
94 settingsInitialWindowSize = 65535;
98 quint32 stream_id = 0;
102 HPack *hpack =
nullptr;
103 quint64 streamForContinuation = 0;
104 quint32 maxStreamId = 0;
106 qint32 windowSize = 65535;
107 qint32 settingsInitialWindowSize = 65535;
108 quint32 settingsMaxFrameSize = 16384;
109 quint8 processing = 0;
121 Type type()
const override;
135 int sendGoAway(
QIODevice *io, quint32 lastStreamId, quint32 error)
const;
136 int sendRstStream(
QIODevice *io, quint32 streamId, quint32 error)
const;
137 int sendSettings(
QIODevice *io,
const std::vector<std::pair<quint16, quint32>> &settings)
const;
138 int sendSettingsAck(
QIODevice *io)
const;
139 int sendPing(
QIODevice *io, quint8 flags,
const char *data =
nullptr, qint32 dataLen = 0)
const;
144 qint32 dataLen)
const;
148 quint32 streamId = 0,
149 const char *data =
nullptr,
150 qint32 dataLen = 0)
const;
158 quint32 m_maxFrameSize;
159 qint32 m_headerTableSize;
164 #endif // PROTOCOLHTTP2_H
bool writeHeaders(quint16 status, const Cutelyst::Headers &headers) override final
void processingFinished() override final
The Cutelyst namespace holds all public Cutelyst API.
qint64 doWrite(const char *data, qint64 len) override final