From 9d3e44edbdbe5b7937e1d375afcd9e2f1941b80c Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Fri, 24 Jan 2014 23:54:25 +0100 Subject: [PATCH 1/1] DataStreamPeer: Use UTF-8 QByteArrays instead of QString for message headers This affects the objectName in SyncMessage, InitRequest and InitData. While the savings should be rather small in particular with compression enabled, we shouldn't skip this opportunity; while introspecting all serialized data for QStrings would be too invasive, we can easily do it for those clearly defined message fields. --- src/common/protocols/datastream/datastreampeer.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/protocols/datastream/datastreampeer.cpp b/src/common/protocols/datastream/datastreampeer.cpp index df87b136..acd0bc41 100644 --- a/src/common/protocols/datastream/datastreampeer.cpp +++ b/src/common/protocols/datastream/datastreampeer.cpp @@ -321,7 +321,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc) return; } QByteArray className = params.takeFirst().toByteArray(); - QString objectName = params.takeFirst().toString(); + QString objectName = QString::fromUtf8(params.takeFirst().toByteArray()); QByteArray slotName = params.takeFirst().toByteArray(); handle(Protocol::SyncMessage(className, objectName, slotName, params)); break; @@ -341,7 +341,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc) return; } QByteArray className = params[0].toByteArray(); - QString objectName = params[1].toString(); + QString objectName = QString::fromUtf8(params[1].toByteArray()); handle(Protocol::InitRequest(className, objectName)); break; } @@ -351,7 +351,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc) return; } QByteArray className = params[0].toByteArray(); - QString objectName = params[1].toString(); + QString objectName = QString::fromUtf8(params[1].toByteArray()); QVariantMap initData = params[2].toMap(); handle(Protocol::InitData(className, objectName, initData)); break; @@ -387,7 +387,7 @@ void DataStreamPeer::handlePackedFunc(const QVariant &packedFunc) void DataStreamPeer::dispatch(const Protocol::SyncMessage &msg) { - dispatchPackedFunc(QVariantList() << (qint16)Sync << msg.className << msg.objectName << msg.slotName << msg.params); + dispatchPackedFunc(QVariantList() << (qint16)Sync << msg.className << msg.objectName.toUtf8() << msg.slotName << msg.params); } @@ -399,13 +399,13 @@ void DataStreamPeer::dispatch(const Protocol::RpcCall &msg) void DataStreamPeer::dispatch(const Protocol::InitRequest &msg) { - dispatchPackedFunc(QVariantList() << (qint16)InitRequest << msg.className << msg.objectName); + dispatchPackedFunc(QVariantList() << (qint16)InitRequest << msg.className << msg.objectName.toUtf8()); } void DataStreamPeer::dispatch(const Protocol::InitData &msg) { - dispatchPackedFunc(QVariantList() << (qint16)InitData << msg.className << msg.objectName << msg.initData); + dispatchPackedFunc(QVariantList() << (qint16)InitData << msg.className << msg.objectName.toUtf8() << msg.initData); } -- 2.20.1