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

Signals

void shutdown ()
void shutdownCompleted (Cutelyst::ServerEngine *engine)
void started ()
Signals inherited from Cutelyst::Engine
void processRequestAsync (Cutelyst::EngineRequest *request)

Public Member Functions

 ServerEngine (Cutelyst::Application *localApp, int workerCore, const QVariantMap &opts, Server *wsgi)
void handleSocketShutdown (Socket *sock)
virtual bool init () override
QByteArray lastDate ()
void postFork (int workerId)
void setServers (const std::vector< QObject * > &servers)
virtual int workerId () const override
Public Member Functions inherited from Cutelyst::Engine
 Engine (Application *app, int workerCore, const QVariantMap &opts)
virtual ~Engine ()
Application * app () const
QVariantMap config (const QString &entity) const
bool isZeroWorker () const
QVariantMap opts () const
void processRequest (EngineRequest *request)
void setConfig (const QVariantMap &config)
int workerCore () const
Public Member Functions inherited from QObject
 QObject (QObject *parent)
QBindable< QStringbindableObjectName ()
bool blockSignals (bool block)
const QObjectListchildren () const const
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
void deleteLater ()
void destroyed (QObject *obj)
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
bool disconnect (const QObject *receiver, const char *method) const const
void dumpObjectInfo () const const
void dumpObjectTree () const const
QList< QByteArraydynamicPropertyNames () const const
virtual bool event (QEvent *e)
virtual bool eventFilter (QObject *watched, QEvent *event)
findChild (QAnyStringView name, Qt::FindChildOptions options) const const
findChild (Qt::FindChildOptions options) const const
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
QList< T > findChildren (QAnyStringView name, Qt::FindChildOptions options) const const
QList< T > findChildren (Qt::FindChildOptions options) const const
bool inherits (const char *className) const const
void installEventFilter (QObject *filterObj)
bool isQmlExposed () const const
bool isQuickItemType () const const
bool isWidgetType () const const
bool isWindowType () const const
void killTimer (int id)
void killTimer (Qt::TimerId id)
virtual const QMetaObjectmetaObject () const const
bool moveToThread (QThread *targetThread)
QString objectName () const const
void objectNameChanged (const QString &objectName)
QObjectparent () const const
QVariant property (const char *name) const const
 Q_CLASSINFO (Name, Value)
 Q_EMIT Q_EMIT
 Q_ENUM (...)
 Q_ENUM_NS (...)
 Q_ENUMS (...)
 Q_FLAG (...)
 Q_FLAG_NS (...)
 Q_FLAGS (...)
 Q_GADGET Q_GADGET
 Q_GADGET_EXPORT (EXPORT_MACRO)
 Q_INTERFACES (...)
 Q_INVOKABLE Q_INVOKABLE
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 Q_NAMESPACE Q_NAMESPACE
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 Q_OBJECT Q_OBJECT
 Q_PROPERTY (...)
 Q_REVISION Q_REVISION
 Q_SET_OBJECT_NAME (Object)
 Q_SIGNAL Q_SIGNAL
 Q_SIGNALS Q_SIGNALS
 Q_SLOT Q_SLOT
 Q_SLOTS Q_SLOTS
qobject_cast (const QObject *object)
qobject_cast (QObject *object)
 QT_NO_CONTEXTLESS_CONNECT QT_NO_CONTEXTLESS_CONNECT
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
void removeEventFilter (QObject *obj)
void setObjectName (const QString &name)
void setObjectName (QAnyStringView name)
void setParent (QObject *parent)
bool setProperty (const char *name, const QVariant &value)
bool setProperty (const char *name, QVariant &&value)
bool signalsBlocked () const const
int startTimer (int interval, Qt::TimerType timerType)
int startTimer (std::chrono::nanoseconds interval, Qt::TimerType timerType)
QThreadthread () const const

Public Attributes

int m_workerId
Public Attributes inherited from QObject
 Invalid
typedef QObjectList

Protected Member Functions

void serverShutdown ()
void startSocketTimeout ()
void stopSocketTimeout ()
Protected Member Functions inherited from Cutelyst::Engine
HeadersdefaultHeaders ()
bool initApplication ()
bool postForkApplication ()
Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
virtual void connectNotify (const QMetaMethod &signal)
virtual void customEvent (QEvent *event)
virtual void disconnectNotify (const QMetaMethod &signal)
bool isSignalConnected (const QMetaMethod &signal) const const
int receivers (const char *signal) const const
QObjectsender () const const
int senderSignalIndex () const const
virtual void timerEvent (QTimerEvent *event)

Static Protected Member Functions

static QByteArray dateHeader ()

Friends

class Connection
class LocalServer
class ProtocolFastCGI
class ProtocolHttp
class Socket
class TcpServer
class TcpSslServer

Additional Inherited Members

Public Types inherited from QObject
enum  TimerId
Static Public Member Functions inherited from Cutelyst::Engine
static const char * httpStatusMessage (quint16 status, int *len=nullptr)
static QVariantMap loadIniConfig (const QString &filename)
static QVariantMap loadJsonConfig (const QString &filename)
Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
bool disconnect (const QMetaObject::Connection &connection)
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
QString tr (const char *sourceText, const char *disambiguation, int n)
Properties inherited from QObject
 objectName

Detailed Description

Definition at line 24 of file serverengine.h.

Constructor & Destructor Documentation

◆ ServerEngine()

ServerEngine::ServerEngine ( Cutelyst::Application * localApp,
int workerCore,
const QVariantMap & opts,
Server * wsgi )

Definition at line 41 of file serverengine.cpp.

◆ ~ServerEngine()

ServerEngine::~ServerEngine ( )
overridevirtual

Definition at line 77 of file serverengine.cpp.

Member Function Documentation

◆ dateHeader()

QByteArray ServerEngine::dateHeader ( )
staticprotected

Definition at line 162 of file serverengine.cpp.

◆ handleSocketShutdown()

void ServerEngine::handleSocketShutdown ( Socket * sock)

Definition at line 208 of file serverengine.cpp.

◆ init()

bool ServerEngine::init ( )
overridevirtual

Initialize the engine and return true on success.

Implements Cutelyst::Engine.

Definition at line 199 of file serverengine.cpp.

References Cutelyst::Engine::initApplication().

◆ lastDate()

QByteArray Cutelyst::ServerEngine::lastDate ( )
inline

Definition at line 44 of file serverengine.h.

◆ postFork()

void ServerEngine::postFork ( int workerId)

Definition at line 145 of file serverengine.cpp.

◆ serverShutdown()

void Cutelyst::ServerEngine::serverShutdown ( )
inlineprotected

Definition at line 75 of file serverengine.h.

◆ setServers()

void ServerEngine::setServers ( const std::vector< QObject * > & servers)

Definition at line 89 of file serverengine.cpp.

◆ startSocketTimeout()

void Cutelyst::ServerEngine::startSocketTimeout ( )
inlineprotected

Definition at line 61 of file serverengine.h.

◆ stopSocketTimeout()

void Cutelyst::ServerEngine::stopSocketTimeout ( )
inlineprotected

Definition at line 68 of file serverengine.h.

◆ workerId()

int ServerEngine::workerId ( ) const
overridevirtual

Reimplement this to get the workerId of the engine subclass, this is the same as processes id.

The id is the number of the spawned engine process, a single process workerId = 0, two process 0 for the first 1 for the second.

Note
The value returned from this function is only valid when postFork() is issued.

Implements Cutelyst::Engine.

Definition at line 84 of file serverengine.cpp.

◆ Connection

friend class Connection
friend

Definition at line 90 of file serverengine.h.

◆ LocalServer

friend class LocalServer
friend

Definition at line 87 of file serverengine.h.

◆ ProtocolFastCGI

friend class ProtocolFastCGI
friend

Definition at line 86 of file serverengine.h.

◆ ProtocolHttp

friend class ProtocolHttp
friend

Definition at line 85 of file serverengine.h.

◆ Socket

friend class Socket
friend

Definition at line 91 of file serverengine.h.

◆ TcpServer

friend class TcpServer
friend

Definition at line 88 of file serverengine.h.

◆ TcpSslServer

friend class TcpSslServer
friend

Definition at line 89 of file serverengine.h.

Member Data Documentation

◆ m_workerId

int Cutelyst::ServerEngine::m_workerId

Definition at line 40 of file serverengine.h.