From db1f2c8dd9e41f985b884ab08d9321d35d5943b2 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 9 May 2022 13:16:58 +0200 Subject: [PATCH] LSP: Do not copy a message before sending it out Change-Id: I58cc1f50b504bf21ea4ee9f99edba2ae8dc1ca1c Reviewed-by: Reviewed-by: David Schulz --- src/libs/languageserverprotocol/basemessage.cpp | 5 ----- src/libs/languageserverprotocol/basemessage.h | 3 +-- src/plugins/languageclient/languageclientinterface.cpp | 3 ++- .../languageserverprotocol/tst_languageserverprotocol.cpp | 2 +- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/libs/languageserverprotocol/basemessage.cpp b/src/libs/languageserverprotocol/basemessage.cpp index f4a34a61783..6f0145d7c55 100644 --- a/src/libs/languageserverprotocol/basemessage.cpp +++ b/src/libs/languageserverprotocol/basemessage.cpp @@ -172,11 +172,6 @@ bool BaseMessage::isValid() const return contentLength >= 0; } -QByteArray BaseMessage::toData() const -{ - return header() + content; -} - QByteArray BaseMessage::header() const { QByteArray header; diff --git a/src/libs/languageserverprotocol/basemessage.h b/src/libs/languageserverprotocol/basemessage.h index db3014f0126..dec62b5f227 100644 --- a/src/libs/languageserverprotocol/basemessage.h +++ b/src/libs/languageserverprotocol/basemessage.h @@ -56,7 +56,7 @@ public: bool isComplete() const; bool isValid() const; - QByteArray toData() const; + QByteArray header() const; QByteArray mimeType; QByteArray content; @@ -64,7 +64,6 @@ public: QTextCodec *codec = defaultCodec(); private: - QByteArray header() const; QByteArray lengthHeader() const; QByteArray typeHeader() const; }; diff --git a/src/plugins/languageclient/languageclientinterface.cpp b/src/plugins/languageclient/languageclientinterface.cpp index 40aa11113a1..62b7dc8b4ae 100644 --- a/src/plugins/languageclient/languageclientinterface.cpp +++ b/src/plugins/languageclient/languageclientinterface.cpp @@ -48,7 +48,8 @@ BaseClientInterface::~BaseClientInterface() void BaseClientInterface::sendMessage(const BaseMessage &message) { - sendData(message.toData()); + sendData(message.header()); + sendData(message.content); } void BaseClientInterface::resetBuffer() diff --git a/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp b/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp index 406718ac279..6b36b8e366d 100644 --- a/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp +++ b/tests/auto/languageserverprotocol/tst_languageserverprotocol.cpp @@ -358,7 +358,7 @@ void tst_LanguageServerProtocol::baseMessageToData() QFETCH(BaseMessage, message); QFETCH(QByteArray, data); - QCOMPARE(message.toData(), data); + QCOMPARE(message.header() + message.content, data); } void tst_LanguageServerProtocol::fromJsonValue()