diff options
author | Javier <dev.git@javispedro.com> | 2015-12-14 01:52:17 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2015-12-14 01:52:17 +0100 |
commit | 702e018ca9e780bb076033ce5d1d370d4eb7319e (patch) | |
tree | 2012493213c630d7281718aadd1a6fa9a2c92885 /sappeer.cc | |
parent | ce8a092a235c8d59f01631c80786f920eb6a777b (diff) | |
download | sapd-702e018ca9e780bb076033ce5d1d370d4eb7319e.tar.gz sapd-702e018ca9e780bb076033ce5d1d370d4eb7319e.zip |
properly handle data frames with sequence numbers
Diffstat (limited to 'sappeer.cc')
-rw-r--r-- | sappeer.cc | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -66,8 +66,7 @@ SAPConnection * SAPPeer::createServiceConnection(const QString &profile, const Q request.sessions.append(session); - SAPSocket *socket = new SAPSocket(conn, sessionId); - // TODO set socket QoS parameters + SAPSocket *socket = new SAPSocket(conn, sessionId, cInfo); conn->setSocket(session.channelId, socket); _sessions.insert(sessionId, socket); @@ -184,9 +183,8 @@ void SAPPeer::handleConnected() void SAPPeer::handleDisconnected() { - // TODO + // TODO Figure out who should actually reconnect emit disconnected(); - deleteLater(); } int SAPPeer::findUnusedSessionId() const @@ -253,12 +251,18 @@ void SAPPeer::handleDefaultSessionMessage(const QByteArray &message) SAPConnection *conn = new SAPConnection(this, req.profile); foreach (const SAProtocol::ServiceConnectionRequestSession &s, req.sessions) { - SAPSocket *socket = new SAPSocket(conn, s.sessionId); - // TODO set socket QoS parameters + SAPChannelInfo cInfo; + cInfo.setChannelId(s.channelId); + cInfo.setQoSType(static_cast<SAPChannelInfo::QoSType>(s.qosType)); + cInfo.setQoSDataRate(static_cast<SAPChannelInfo::QoSDataRate>(s.qosDataRate)); + cInfo.setQoSPriority(static_cast<SAPChannelInfo::QoSPriority>(s.qosPriority)); + cInfo.setPayloadType(static_cast<SAPChannelInfo::PayloadType>(s.payloadType)); + + SAPSocket *socket = new SAPSocket(conn, s.sessionId, cInfo); conn->setSocket(s.channelId, socket); qDebug() << " opening channel" << s.channelId << "as session" << s.sessionId; - qDebug() << " payload=" << s.payloadType << "qos=" << s.qosType << "prio=" << s.qosPriority << "rate=" << s.qosDataRate; + qDebug() << " " << cInfo; _sessions.insert(s.sessionId, socket); } |