cutelyst 4.8.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
Cutelyst::ProtocolHttp2 Class Referencefinal
Inheritance diagram for Cutelyst::ProtocolHttp2:

Public Member Functions

 ProtocolHttp2 (Server *wsgi)
ProtocolDatacreateData (Cutelyst::Socket *sock) const override final
void parse (Cutelyst::Socket *sock, QIODevice *io) const override final
int parseData (ProtoRequestHttp2 *request, QIODevice *io, const H2Frame &fr) const
int parseHeaders (ProtoRequestHttp2 *request, QIODevice *io, const H2Frame &fr) const
int parsePing (ProtoRequestHttp2 *request, QIODevice *io, const H2Frame &fr) const
int parsePriority (ProtoRequestHttp2 *request, QIODevice *io, const H2Frame &fr) const
int parseRstStream (ProtoRequestHttp2 *request, QIODevice *io, const H2Frame &fr) const
int parseSettings (ProtoRequestHttp2 *request, QIODevice *io, const H2Frame &fr) const
int parseWindowUpdate (ProtoRequestHttp2 *request, QIODevice *io, const H2Frame &fr) const
void queueStream (Cutelyst::Socket *socket, H2Stream *stream) const
int sendData (QIODevice *io, quint32 streamId, qint32 flags, const char *data, qint32 dataLen) const
int sendFrame (QIODevice *io, quint8 type, quint8 flags=0, quint32 streamId=0, const char *data=nullptr, qint32 dataLen=0) const
int sendGoAway (QIODevice *io, quint32 lastStreamId, quint32 error) const
int sendPing (QIODevice *io, quint8 flags, const char *data=nullptr, qint32 dataLen=0) const
int sendRstStream (QIODevice *io, quint32 streamId, quint32 error) const
int sendSettings (QIODevice *io, const std::vector< std::pair< quint16, quint32 > > &settings) const
int sendSettingsAck (QIODevice *io) const
Type type () const override
bool upgradeH2C (Cutelyst::Socket *socket, QIODevice *io, const Cutelyst::EngineRequest &request)
Public Member Functions inherited from Cutelyst::Protocol
 Protocol (Server *wsgi)
QIODevicecreateBody (qint64 contentLength) const

Public Attributes

qint32 m_headerTableSize
quint32 m_maxFrameSize
Public Attributes inherited from Cutelyst::Protocol
int m_bufferSize
char * m_postBuffer
qint64 m_postBuffering
qint64 m_postBufferSize
bool const useStats

Additional Inherited Members

Public Types inherited from Cutelyst::Protocol
enum class  Type {
  Unknown , Http11 , Http11Websocket , Http2 ,
  FastCGI1
}

Detailed Description

Definition at line 116 of file protocolhttp2.h.

Constructor & Destructor Documentation

◆ ProtocolHttp2()

ProtocolHttp2::ProtocolHttp2 ( Server * wsgi)
explicit

Definition at line 94 of file protocolhttp2.cpp.

◆ ~ProtocolHttp2()

ProtocolHttp2::~ProtocolHttp2 ( )
override

Definition at line 110 of file protocolhttp2.cpp.

Member Function Documentation

◆ createData()

ProtocolData * ProtocolHttp2::createData ( Cutelyst::Socket * sock) const
finaloverridevirtual

Implements Cutelyst::Protocol.

Definition at line 273 of file protocolhttp2.cpp.

◆ parse()

void ProtocolHttp2::parse ( Cutelyst::Socket * sock,
QIODevice * io ) const
finaloverridevirtual

Implements Cutelyst::Protocol.

Definition at line 119 of file protocolhttp2.cpp.

◆ parseData()

int ProtocolHttp2::parseData ( ProtoRequestHttp2 * request,
QIODevice * io,
const H2Frame & fr ) const

Definition at line 333 of file protocolhttp2.cpp.

◆ parseHeaders()

int ProtocolHttp2::parseHeaders ( ProtoRequestHttp2 * request,
QIODevice * io,
const H2Frame & fr ) const

Definition at line 388 of file protocolhttp2.cpp.

◆ parsePing()

int ProtocolHttp2::parsePing ( ProtoRequestHttp2 * request,
QIODevice * io,
const H2Frame & fr ) const

Definition at line 544 of file protocolhttp2.cpp.

◆ parsePriority()

int ProtocolHttp2::parsePriority ( ProtoRequestHttp2 * request,
QIODevice * io,
const H2Frame & fr ) const

Definition at line 514 of file protocolhttp2.cpp.

◆ parseRstStream()

int ProtocolHttp2::parseRstStream ( ProtoRequestHttp2 * request,
QIODevice * io,
const H2Frame & fr ) const

Definition at line 559 of file protocolhttp2.cpp.

◆ parseSettings()

int ProtocolHttp2::parseSettings ( ProtoRequestHttp2 * request,
QIODevice * io,
const H2Frame & fr ) const

Definition at line 278 of file protocolhttp2.cpp.

◆ parseWindowUpdate()

int ProtocolHttp2::parseWindowUpdate ( ProtoRequestHttp2 * request,
QIODevice * io,
const H2Frame & fr ) const

Definition at line 593 of file protocolhttp2.cpp.

◆ queueStream()

void ProtocolHttp2::queueStream ( Cutelyst::Socket * socket,
H2Stream * stream ) const

Definition at line 776 of file protocolhttp2.cpp.

◆ sendData()

int ProtocolHttp2::sendData ( QIODevice * io,
quint32 streamId,
qint32 flags,
const char * data,
qint32 dataLen ) const

Definition at line 709 of file protocolhttp2.cpp.

◆ sendFrame()

int ProtocolHttp2::sendFrame ( QIODevice * io,
quint8 type,
quint8 flags = 0,
quint32 streamId = 0,
const char * data = nullptr,
qint32 dataLen = 0 ) const

Definition at line 738 of file protocolhttp2.cpp.

◆ sendGoAway()

int ProtocolHttp2::sendGoAway ( QIODevice * io,
quint32 lastStreamId,
quint32 error ) const

Definition at line 649 of file protocolhttp2.cpp.

◆ sendPing()

int ProtocolHttp2::sendPing ( QIODevice * io,
quint8 flags,
const char * data = nullptr,
qint32 dataLen = 0 ) const

Definition at line 704 of file protocolhttp2.cpp.

◆ sendRstStream()

int ProtocolHttp2::sendRstStream ( QIODevice * io,
quint32 streamId,
quint32 error ) const

Definition at line 668 of file protocolhttp2.cpp.

◆ sendSettings()

int ProtocolHttp2::sendSettings ( QIODevice * io,
const std::vector< std::pair< quint16, quint32 > > & settings ) const

Definition at line 683 of file protocolhttp2.cpp.

◆ sendSettingsAck()

int ProtocolHttp2::sendSettingsAck ( QIODevice * io) const

Definition at line 699 of file protocolhttp2.cpp.

◆ type()

Protocol::Type ProtocolHttp2::type ( ) const
overridevirtual

Reimplemented from Cutelyst::Protocol.

Definition at line 114 of file protocolhttp2.cpp.

◆ upgradeH2C()

bool ProtocolHttp2::upgradeH2C ( Cutelyst::Socket * socket,
QIODevice * io,
const Cutelyst::EngineRequest & request )

Definition at line 785 of file protocolhttp2.cpp.

Member Data Documentation

◆ m_headerTableSize

qint32 Cutelyst::ProtocolHttp2::m_headerTableSize

Definition at line 160 of file protocolhttp2.h.

◆ m_maxFrameSize

quint32 Cutelyst::ProtocolHttp2::m_maxFrameSize

Definition at line 159 of file protocolhttp2.h.