Added Debuging output to the SignalProxy to test on the fly compression.
authorMarcus Eggenberger <egs@quassel-irc.org>
Sat, 14 Jun 2008 14:34:26 +0000 (16:34 +0200)
committerMarcus Eggenberger <egs@quassel-irc.org>
Wed, 18 Jun 2008 17:22:23 +0000 (19:22 +0200)
Maybe this commit already fixes the bug some users experienced.

src/common/signalproxy.cpp

index f467b1b..612f214 100644 (file)
@@ -914,7 +914,8 @@ void SignalProxy::writeDataToDevice(QIODevice *dev, const QVariant &item, bool c
   QByteArray block;
   QDataStream out(&block, QIODevice::WriteOnly);
   out.setVersion(QDataStream::Qt_4_2);
-
+  out << (quint32)0;
+  
   if(compressed) {
     QByteArray rawItem;
     QDataStream itemStream(&rawItem, QIODevice::WriteOnly);
@@ -922,15 +923,19 @@ void SignalProxy::writeDataToDevice(QIODevice *dev, const QVariant &item, bool c
     itemStream.setVersion(QDataStream::Qt_4_2);
     itemStream << item;
 
+    int rawSize = rawItem.size();
     rawItem = qCompress(rawItem);
 
-    out << (quint32)rawItem.size() << rawItem;
+    out << rawItem;
+    qDebug() << "Sending compressed" << rawItem.size() << "Bytes. (was:" << rawSize << "Bytes)" << dev;
   } else {
-    out << (quint32)0 << item;
-    out.device()->seek(0);
-    out << (quint32)(block.size() - sizeof(quint32));
+    out << item;
+    qDebug() << "Sending uncompressed" << block.size() - sizeof(quint32);
   }
 
+  out.device()->seek(0);
+  out << (quint32)(block.size() - sizeof(quint32));
+
   dev->write(block);
 }
 
@@ -949,12 +954,15 @@ bool SignalProxy::readDataFromDevice(QIODevice *dev, quint32 &blockSize, QVarian
   if(compressed) {
     QByteArray rawItem;
     in >> rawItem;
+    int rawSize = rawItem.size();
     rawItem = qUncompress(rawItem);
-
+    qDebug() << "receiving compressed" << rawSize << "Bytes. (uncompressed:" << rawItem.size() << "Bytes)" << dev;
+      
     QDataStream itemStream(&rawItem, QIODevice::ReadOnly);
     itemStream.setVersion(QDataStream::Qt_4_2);
     itemStream >> item;
   } else {
+    qDebug() << "receiving uncompressed" << blockSize << "Bytes" << dev;
     in >> item;
   }