[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Oct 14 14:28:05 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=53a3309
The following commit has been merged in the master branch:
commit 53a33096ad7544e12c29cb901c3e779c59ed9538
Author: Jens Dagerbo <jens.dagerbo at gmail.com>
Date: Sun Nov 9 12:57:09 2014 -0800
Changed int to qint64 for tracking payload size
No longer keeping the entire file in RAM while uploading
---
core/backends/lan/uploadjob.cpp | 20 +++++++++++++++-----
core/filetransferjob.cpp | 2 +-
core/filetransferjob.h | 6 +++---
core/networkpackage.h | 8 ++++----
4 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/core/backends/lan/uploadjob.cpp b/core/backends/lan/uploadjob.cpp
index 752bf69..7764117 100644
--- a/core/backends/lan/uploadjob.cpp
+++ b/core/backends/lan/uploadjob.cpp
@@ -65,17 +65,27 @@ void UploadJob::readyRead()
{
//TODO: Implement payload encryption
- qint64 bytes = qMax(mInput->bytesAvailable(), (qint64)4096);
- int w = mSocket->write(mInput->read(bytes));
- if (w<0) {
- qWarning() << "error when writing data to upload" << bytes << mInput->bytesAvailable();
+ while ( mInput->bytesAvailable() > 0 )
+ {
+ qint64 bytes = qMin(mInput->bytesAvailable(), (qint64)4096);
+ int w = mSocket->write(mInput->read(bytes));
+ if (w<0) {
+ qWarning() << "error when writing data to upload" << bytes << mInput->bytesAvailable();
+ break;
+ }
+ else
+ {
+ while ( mSocket->flush() );
+ }
}
+
+ mInput->close();
}
void UploadJob::aboutToClose()
{
- mSocket->close();
mSocket->disconnectFromHost();
+ mSocket->close();
emitResult();
}
diff --git a/core/filetransferjob.cpp b/core/filetransferjob.cpp
index 8d1cb69..2dad5de 100644
--- a/core/filetransferjob.cpp
+++ b/core/filetransferjob.cpp
@@ -28,7 +28,7 @@
#include "kdebugnamespace.h"
-FileTransferJob::FileTransferJob(const QSharedPointer<QIODevice>& origin, int size, const KUrl& destination): KJob()
+FileTransferJob::FileTransferJob(const QSharedPointer<QIODevice>& origin, qint64 size, const KUrl& destination): KJob()
{
Q_ASSERT(destination.isLocalFile());
//TODO: Make a precondition before calling this function that destination file exists
diff --git a/core/filetransferjob.h b/core/filetransferjob.h
index 0969dce..b022210 100644
--- a/core/filetransferjob.h
+++ b/core/filetransferjob.h
@@ -37,7 +37,7 @@ class FileTransferJob
Q_OBJECT
public:
- FileTransferJob(const QSharedPointer<QIODevice>& origin, int size, const KUrl& destination);
+ FileTransferJob(const QSharedPointer<QIODevice>& origin, qint64 size, const KUrl& destination);
virtual void start();
KUrl destination() const { return mDestination; }
void setDeviceName(const QString &deviceName) {mDeviceName = deviceName;};
@@ -61,8 +61,8 @@ private:
KUrl mDestination;
QTime m_time;
qulonglong m_speedBytes;
- int mSize;
- int mWritten;
+ qint64 mSize;
+ qint64 mWritten;
};
diff --git a/core/networkpackage.h b/core/networkpackage.h
index 0ea80e9..5f1cfe8 100644
--- a/core/networkpackage.h
+++ b/core/networkpackage.h
@@ -75,9 +75,9 @@ public:
bool has(const QString& key) const { return mBody.contains(key); }
QSharedPointer<QIODevice> payload() const { return mPayload; }
- void setPayload(const QSharedPointer<QIODevice>& device, int payloadSize) { mPayload = device; mPayloadSize = payloadSize; Q_ASSERT(mPayloadSize >= -1); }
+ void setPayload(const QSharedPointer<QIODevice>& device, qint64 payloadSize) { mPayload = device; mPayloadSize = payloadSize; Q_ASSERT(mPayloadSize >= -1); }
bool hasPayload() const { return (mPayloadSize != 0); }
- int payloadSize() const { return mPayloadSize; } //-1 means it is an endless stream
+ qint64 payloadSize() const { return mPayloadSize; } //-1 means it is an endless stream
FileTransferJob* createPayloadTransferJob(const KUrl& destination) const;
//To be called by a particular DeviceLink
@@ -90,14 +90,14 @@ private:
void setId(const QString& id) { mId = id; }
void setType(const QString& t) { mType = t; }
void setBody(const QVariantMap& b) { mBody = b; }
- void setPayloadSize(int s) { mPayloadSize = s; }
+ void setPayloadSize(qint64 s) { mPayloadSize = s; }
QString mId;
QString mType;
QVariantMap mBody;
QSharedPointer<QIODevice> mPayload;
- int mPayloadSize;
+ qint64 mPayloadSize;
QVariantMap mPayloadTransferInfo;
};
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list