summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2012-12-25 14:39:48 (GMT)
committerRemko Tronçon <git@el-tramo.be>2013-05-11 10:22:56 (GMT)
commit927d62cc54c8a5087dba6b61afa9ad30dc528a23 (patch)
treee67dc911bd30c0519d31a542d8e085bbb209879d /Swiften/FileTransfer/IBBReceiveSession.cpp
parent17b188343e7208b875af7af30d94f0bf948f6b93 (diff)
downloadswift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.zip
swift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.tar.bz2
File Transfer refactoring.
Allocate S5B server lazily. Forward forts lazily. Various state machine fixes. Temporarily disabling S5B proxy support. Change-Id: I3145e85a99b15a7e457306bbfbe9c0eb570191e4
Diffstat (limited to 'Swiften/FileTransfer/IBBReceiveSession.cpp')
-rw-r--r--Swiften/FileTransfer/IBBReceiveSession.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/Swiften/FileTransfer/IBBReceiveSession.cpp b/Swiften/FileTransfer/IBBReceiveSession.cpp
index 1a2bb3a..3aa6fdc 100644
--- a/Swiften/FileTransfer/IBBReceiveSession.cpp
+++ b/Swiften/FileTransfer/IBBReceiveSession.cpp
@@ -27,7 +27,7 @@ class IBBReceiveSession::IBBResponder : public SetResponder<IBB> {
if (from == session->from && ibb->getStreamID() == session->id) {
if (ibb->getAction() == IBB::Data) {
if (sequenceNumber == ibb->getSequenceNumber()) {
- session->onDataReceived(ibb->getData());
+ session->bytestream->write(ibb->getData());
receivedSize += ibb->getData().size();
sequenceNumber++;
sendResponse(from, id, IBB::ref());
@@ -62,7 +62,7 @@ class IBBReceiveSession::IBBResponder : public SetResponder<IBB> {
private:
IBBReceiveSession* session;
int sequenceNumber;
- size_t receivedSize;
+ unsigned long long receivedSize;
};
@@ -70,12 +70,14 @@ IBBReceiveSession::IBBReceiveSession(
const std::string& id,
const JID& from,
const JID& to,
- size_t size,
+ unsigned long long size,
+ boost::shared_ptr<WriteBytestream> bytestream,
IQRouter* router) :
id(id),
from(from),
to(to),
size(size),
+ bytestream(bytestream),
router(router),
active(false) {
assert(!id.empty());