summaryrefslogtreecommitdiff
path: root/sappeer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sappeer.cc')
-rw-r--r--sappeer.cc42
1 files changed, 21 insertions, 21 deletions
diff --git a/sappeer.cc b/sappeer.cc
index 4660522..1e5be61 100644
--- a/sappeer.cc
+++ b/sappeer.cc
@@ -72,8 +72,8 @@ SAPConnection * SAPPeer::createServiceConnection(const QString &profile, const Q
_sessions.insert(sessionId, socket);
}
- writeToSession(SAProtocol::defaultSessionId,
- SAProtocol::packServiceConnectionRequestFrame(request));
+ writeDataToSession(SAProtocol::defaultSessionId,
+ SAProtocol::packServiceConnectionRequestFrame(request));
return conn;
}
@@ -98,22 +98,22 @@ CapabilityPeer *SAPPeer::capabilityPeer()
return findChild<CapabilityPeer*>();
}
-bool SAPPeer::writeToSession(int session, const QByteArray &data)
+void SAPPeer::writeDataToSession(int session, const QByteArray &data)
{
- if (session == SAProtocol::defaultSessionId) {
- // Session is default (always open) or already open
- sendFrame(SAProtocol::packFrame(session, data));
- return true;
- } else {
- SAPSocket *socket = _sessions.value(session, 0);
- if (socket && socket->isOpen()) {
- sendFrame(SAProtocol::packFrame(session, data));
- return true;
- } else {
- qWarning() << "Session" << session << "not open yet";
- return false;
- }
- }
+ sendFrame(SAProtocol::packFrame(session, data, SAProtocol::FrameData));
+}
+
+void SAPPeer::writeControlToSession(int session, const QByteArray &data)
+{
+ sendFrame(SAProtocol::packFrame(session, data, SAProtocol::FrameControl));
+}
+
+void SAPPeer::writeAckToSession(int session, int seqNum)
+{
+ SAProtocol::ControlFrame frame;
+ frame.type = SAProtocol::ControlFrameBlockAck;
+ frame.seqNum = seqNum;
+ writeControlToSession(session, SAProtocol::packControlFrame(frame));
}
void SAPPeer::acceptServiceConnection(SAPConnectionRequest *connReq, int statusCode)
@@ -133,8 +133,8 @@ void SAPPeer::acceptServiceConnection(SAPConnectionRequest *connReq, int statusC
qDebug() << "Accepting service conection with status" << statusCode;
- writeToSession(SAProtocol::defaultSessionId,
- SAProtocol::packServiceConnectionResponseFrame(resp));
+ writeDataToSession(SAProtocol::defaultSessionId,
+ SAProtocol::packServiceConnectionResponseFrame(resp));
if (statusCode == 0) {
foreach (SAPSocket *socket, conn->sockets()) {
@@ -243,8 +243,8 @@ void SAPPeer::handleDefaultSessionMessage(const QByteArray &message)
resp.sessions.push_back(s.sessionId);
}
- writeToSession(SAProtocol::defaultSessionId,
- SAProtocol::packServiceConnectionResponseFrame(resp));
+ writeDataToSession(SAProtocol::defaultSessionId,
+ SAProtocol::packServiceConnectionResponseFrame(resp));
return;
}