7#include <Cutelyst/Engine>
9#include <QElapsedTimer>
30 const QVariantMap &
opts,
34 virtual int workerId()
const override;
36 void setServers(
const std::vector<QObject *> &servers);
42 virtual bool init()
override;
44 inline QByteArray lastDate()
46 if (m_lastDateTimer.hasExpired(1000)) {
47 m_lastDate = dateHeader();
48 m_lastDateTimer.restart();
53 void handleSocketShutdown(
Socket *sock);
61 inline void startSocketTimeout()
63 if (m_socketTimeout && ++m_serversTimeout == 1) {
64 m_socketTimeout->start();
68 inline void stopSocketTimeout()
70 if (m_socketTimeout && --m_serversTimeout == 0) {
71 m_socketTimeout->stop();
75 inline void serverShutdown()
77 if (--m_runningServers == 0) {
78 Q_EMIT shutdownCompleted(
this);
82 static QByteArray dateHeader();
90 friend class Connection;
97 QByteArray m_lastDate;
98 QElapsedTimer m_lastDateTimer;
99 QTimer *m_socketTimeout =
nullptr;
104 int m_runningServers = 0;
105 int m_serversTimeout = 0;
The Cutelyst application.
virtual int workerId() const override
virtual bool init() override
The Cutelyst namespace holds all public Cutelyst API.