#include <VP1TcpServer.h>
Definition at line 22 of file VP1TcpServer.h.
◆ VP1TcpServer()
| VP1TcpServer::VP1TcpServer |
( |
| ) |
|
Definition at line 35 of file VP1TcpServer.cxx.
37{
38 m_d->lastemit_listen=-1;
42
43
44 QTimer *
timer =
new QTimer(
this);
47}
void listenStateMightHaveChanged()
timer(name, disabled=False)
◆ ~VP1TcpServer()
| VP1TcpServer::~VP1TcpServer |
( |
| ) |
|
|
virtual |
◆ acceptConnection
| void VP1TcpServer::acceptConnection |
( |
| ) |
|
|
privateslot |
Definition at line 107 of file VP1TcpServer.cxx.
108{
109 if (!
m_d->tcpserver.hasPendingConnections())
110 return;
111 QTcpSocket * socket =
m_d->tcpserver.nextPendingConnection();
112 if (
m_d->sockets2blocksize.contains(socket)) {
113
114
116 return;
117 }
118 assert(!
m_d->sockets2blocksize.contains(socket));
119 m_d->sockets2blocksize.insert(socket,0);
121 connect(socket, SIGNAL(
error(QAbstractSocket::SocketError)),
this, SLOT(
handleError(QAbstractSocket::SocketError)));
122 connect(socket, SIGNAL(disconnected()),socket, SLOT(deleteLater()));
125}
void socketDestroyed(QObject *)
void handleError(QAbstractSocket::SocketError)
◆ close
| void VP1TcpServer::close |
( |
| ) |
|
|
slot |
Definition at line 87 of file VP1TcpServer.cxx.
88{
90 return;
92
93 QMapIterator<QTcpSocket *,quint16>
it(
m_d->sockets2blocksize);
94 while (
it.hasNext()) {
96 QTcpSocket * socket =
it.key();
97 delete socket;
98 }
99 m_d->sockets2blocksize.clear();
100
101 m_d->tcpserver.close();
104}
◆ handleError
| void VP1TcpServer::handleError |
( |
QAbstractSocket::SocketError | se | ) |
|
|
privateslot |
Definition at line 128 of file VP1TcpServer.cxx.
129{
130 if (se == QTcpSocket::RemoteHostClosedError)
131 return;
132 QTcpSocket * socket =
m_d->recognisedSocket(sender());
133 if (!socket)
134 return;
135 if (socket->state()!=QAbstractSocket::UnconnectedState) {
136 socket->disconnectFromHost();
137 }
138
140}
◆ isListening()
| bool VP1TcpServer::isListening |
( |
| ) |
|
◆ listen()
| bool VP1TcpServer::listen |
( |
QString & | err, |
|
|
const quint16 & | port = 4747 ) |
Definition at line 57 of file VP1TcpServer.cxx.
57 {
60 bool success =
m_d->tcpserver.listen(QHostAddress::LocalHost,
port);
61 if (!success) {
62 err =
m_d->tcpserver.errorString();
65 return false;
66 }
69
71 return true;
72}
◆ listenStateChanged
| void VP1TcpServer::listenStateChanged |
( |
bool | | ) |
|
|
signal |
◆ listenStateMightHaveChanged
| void VP1TcpServer::listenStateMightHaveChanged |
( |
| ) |
|
|
privateslot |
Definition at line 206 of file VP1TcpServer.cxx.
207{
209 bool last =
m_d->lastemit_listen == 1 ? true :
false;
210 if (
m_d->lastemit_listen==-1||(l!=last)) {
212 }
213 m_d->lastemit_listen =
l ? 1 : 0;
214}
void listenStateChanged(bool)
l
Printing final latex table to .tex output file.
◆ port()
| quint16 VP1TcpServer::port |
( |
| ) |
const |
◆ readData
| void VP1TcpServer::readData |
( |
| ) |
|
|
privateslot |
Definition at line 143 of file VP1TcpServer.cxx.
144{
145 QTcpSocket * socket =
m_d->recognisedSocket(sender());
146 if (!socket)
147 return;
148 if (socket->state()!=QAbstractSocket::ConnectedState) {
149
150 return;
151 }
152
153 QDataStream in(socket);
154 in.setVersion(QDataStream::Qt_4_2);
155
156
157 if (
m_d->sockets2blocksize[socket] == 0) {
158 if (socket->bytesAvailable() < (int)sizeof(quint16))
159 return;
160 in >>
m_d->sockets2blocksize[socket];
161 }
162
163
164 if (socket->bytesAvailable() <
m_d->sockets2blocksize[socket])
165 return;
166
169
170
171 if (
m_d->sockets2blocksize.contains(socket)) {
172 socket->disconnectFromHost();
173 }
174
175
176 if (
data.startsWith(
"VP1ExternalRequest")) {
177 VP1ExternalRequest request(
data);
178 if (request.isValid()) {
179
181 }
182 }
184}
char data[hepevt_bytes_allocation_ATLAS]
void receivedExternalRequest(VP1ExternalRequest)
◆ receivedExternalRequest
◆ socketDestroyed
| void VP1TcpServer::socketDestroyed |
( |
QObject * | obj | ) |
|
|
privateslot |
Definition at line 196 of file VP1TcpServer.cxx.
197{
198 QTcpSocket * socket =
static_cast<QTcpSocket *
>(
obj);
199 if (!socket)
200 return;
201 if (
m_d->sockets2blocksize.contains(socket))
202 m_d->sockets2blocksize.remove(socket);
204}
◆ m_d
The documentation for this class was generated from the following files: