From b5a85b365a4abd98176b0935015dbb502cc3e6f6 Mon Sep 17 00:00:00 2001 From: dergoegge Date: Fri, 24 Mar 2023 13:13:07 +0100 Subject: [PATCH] [net] Delete CNetMessage copy constructor/assignment op --- src/net.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/net.h b/src/net.h index 7bb164003e4..6eb35cbe135 100644 --- a/src/net.h +++ b/src/net.h @@ -236,6 +236,14 @@ public: std::string m_type; CNetMessage(CDataStream&& recv_in) : m_recv(std::move(recv_in)) {} + // Only one CNetMessage object will exist for the same message on either + // the receive or processing queue. For performance reasons we therefore + // delete the copy constructor and assignment operator to avoid the + // possibility of copying CNetMessage objects. + CNetMessage(CNetMessage&&) = default; + CNetMessage(const CNetMessage&) = delete; + CNetMessage& operator=(CNetMessage&&) = default; + CNetMessage& operator=(const CNetMessage&) = delete; void SetVersion(int nVersionIn) {