summaryrefslogtreecommitdiff
path: root/sapsocket.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2015-12-14 01:52:17 +0100
committerJavier <dev.git@javispedro.com>2015-12-14 01:52:17 +0100
commit702e018ca9e780bb076033ce5d1d370d4eb7319e (patch)
tree2012493213c630d7281718aadd1a6fa9a2c92885 /sapsocket.h
parentce8a092a235c8d59f01631c80786f920eb6a777b (diff)
downloadsapd-702e018ca9e780bb076033ce5d1d370d4eb7319e.tar.gz
sapd-702e018ca9e780bb076033ce5d1d370d4eb7319e.zip
properly handle data frames with sequence numbers
Diffstat (limited to 'sapsocket.h')
-rw-r--r--sapsocket.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/sapsocket.h b/sapsocket.h
index e1a9214..38d83ea 100644
--- a/sapsocket.h
+++ b/sapsocket.h
@@ -4,6 +4,8 @@
#include <QtCore/QObject>
#include <QtCore/QQueue>
+#include "sapchannelinfo.h"
+
class SAPConnection;
class SAPPeer;
@@ -11,12 +13,14 @@ class SAPSocket : public QObject
{
Q_OBJECT
- SAPSocket(SAPConnection *conn, int sessionId);
+ SAPSocket(SAPConnection *conn, int sessionId, const SAPChannelInfo &chanInfo);
public:
SAPPeer *peer();
SAPConnection *connection();
+ SAPChannelInfo channelInfo() const;
+
bool isOpen() const;
bool messageAvailable() const;
@@ -35,9 +39,16 @@ protected:
int sessionId() const;
private:
- int _sessionId;
+ bool isReliable() const;
+ bool isWithSeqNum() const;
+
+private:
+ const int _sessionId;
+ const SAPChannelInfo _info;
bool _open;
QQueue<QByteArray> _in;
+ quint16 _seqNum;
+ quint16 _expectedSeqNum;
friend class SAPPeer;
};