6#include <QtNetwork/qabstractsocket.h>
36 return qFromBigEndian<quint32>(&
buffer[5]);
42 return FrameFlags(
buffer[4]);
115 if (framePayloadSize != 5)
120 if (framePayloadSize != 8)
125 if (framePayloadSize < 8)
131 if (framePayloadSize != 4)
136 if (framePayloadSize < 4)
161 const auto frameFlags =
flags();
216 const auto frameType =
type();
250 const auto frameType =
type();
331 frame = std::move(newFrame);
389void FrameWriter::updatePayloadSize()
436 if (written !=
qint64(firstChunkSize))
451 if (written !=
qint64(chunkSize))
478 const auto chunkSize = std::min(
size -
offset, sizeLimit);
487 if (written !=
qint64(chunkSize))
FrameStatus read(QAbstractSocket &socket)
payload_type::size_type size_type
void setPayloadSize(quint32 size)
void addFlag(FrameFlag flag)
void append(ValueType val)
void setOutboundFrame(Frame &&newFrame)
bool writeDATA(QAbstractSocket &socket, quint32 sizeLimit, const uchar *src, quint32 size)
void setType(FrameType type)
void setFlags(FrameFlags flags)
bool writeHEADERS(QAbstractSocket &socket, quint32 sizeLimit)
void start(FrameType type, FrameFlags flags, quint32 streamID)
bool write(QAbstractSocket &socket) const
The QAbstractSocket class provides the base functionality common to all socket types.
qint64 write(const char *data, qint64 len)
Writes at most maxSize bytes of data from data to the device.
qint64 read(char *data, qint64 maxlen)
Reads at most maxSize bytes from the device into data, and returns the number of bytes read.
Combined button and popup list for selecting options.
constexpr T qToBigEndian(T source)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLuint GLuint GLfloat weight
GLenum GLuint GLintptr offset
QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator begin(const QRegularExpressionMatchIterator &iterator)
bool testFlag(MaskType mask, FlagType flag)
FrameStatus validateHeader() const
bool priority(quint32 *streamID=nullptr, uchar *weight=nullptr) const
FrameStatus validatePayload() const
const uchar * dataBegin() const
quint32 hpackBlockSize() const
quint32 payloadSize() const
const uchar * hpackBlockBegin() const
std::vector< uchar > buffer