aboutsummaryrefslogtreecommitdiff
path: root/singleapplication_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'singleapplication_p.h')
-rw-r--r--singleapplication_p.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/singleapplication_p.h b/singleapplication_p.h
index c49a46d..58507cf 100644
--- a/singleapplication_p.h
+++ b/singleapplication_p.h
@@ -61,9 +61,10 @@ public:
Reconnect = 3
};
enum ConnectionStage : quint8 {
- StageHeader = 0,
- StageBody = 1,
- StageConnected = 2,
+ StageInitHeader = 0,
+ StageInitBody = 1,
+ StageConnectedHeader = 2,
+ StageConnectedBody = 3,
};
Q_DECLARE_PUBLIC(SingleApplication)
@@ -79,8 +80,12 @@ public:
quint16 blockChecksum() const;
qint64 primaryPid() const;
QString primaryUser() const;
- void readInitMessageHeader(QLocalSocket *socket);
+ bool isFrameComplete(QLocalSocket *sock);
+ void readMessageHeader(QLocalSocket *socket, ConnectionStage nextStage);
void readInitMessageBody(QLocalSocket *socket);
+ void writeAck(QLocalSocket *sock);
+ bool writeConfirmedFrame(int msecs, const QByteArray &msg);
+ bool writeConfirmedMessage(int msecs, const QByteArray &msg);
static void randomSleep();
void addAppData(const QString &data);
QStringList appData() const;