cutelyst 4.3.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
tcpserver.h
1/*
2 * SPDX-FileCopyrightText: (C) 2016-2017 Daniel Nicoletti <dantti12@gmail.com>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef TCPSERVER_H
6#define TCPSERVER_H
7
8#include <QTcpServer>
9
10namespace Cutelyst {
11
12class Server;
13class Protocol;
14class TcpSocket;
15class ServerEngine;
16class TcpServer : public QTcpServer
17{
19public:
20 explicit TcpServer(const QByteArray &serverAddress,
21 Protocol *protocol,
22 Server *wsgi,
23 QObject *parent = nullptr);
24
26 virtual void incomingConnection(qintptr handle) override;
27
28 virtual void shutdown();
29 virtual void timeoutConnections();
30
31 Protocol *protocol() const;
32 void setProtocol(Protocol *protocol);
33
35 void createConnection(qintptr handle);
36
37protected:
38 friend class TcpServerBalancer;
39
40 QByteArray m_serverAddress;
41 ServerEngine *m_engine;
42 Server *m_wsgi;
43
44 std::vector<std::pair<QAbstractSocket::SocketOption, QVariant>> m_socketOptions;
45 Protocol *m_protocol;
46 int m_processing = 0;
47};
48
49} // namespace Cutelyst
50
51#endif // TCPSERVER_H
Implements a web server.
Definition server.h:60
The Cutelyst namespace holds all public Cutelyst API.
Q_INVOKABLEQ_INVOKABLE
Q_OBJECTQ_OBJECT
Q_SIGNALSQ_SIGNALS
QObject * parent() const const
QHostAddress serverAddress() const const