[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