diff options
| author | Itay Grudev <itay+github.com@grudev.com> | 2021-06-01 23:59:59 +0300 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-01 23:59:59 +0300 | 
| commit | c557da5d0cb63b8002c1ba99ec18f257620009b1 (patch) | |
| tree | 49ea9772668632a316eddea0bc7bed11dc3efb9c /singleapplication_p.h | |
| parent | Merge pull request #132 from itay-grudev/removed_incorrect_coment_in_basic_ex... (diff) | |
| parent | Ensure data sent via SingleApplication::sendMessage is received completely (diff) | |
| download | singleapplication-c557da5d0cb63b8002c1ba99ec18f257620009b1.tar.xz | |
Merge pull request #133 from njeisecke/master
Fix protocol to solve #121 and #125
Diffstat (limited to 'singleapplication_p.h')
| -rw-r--r-- | singleapplication_p.h | 13 | 
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;  | 
