From 16d6113f4faa901e248adb693d4768a9e5019a16 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Wed, 7 Aug 2019 15:56:24 +0200 Subject: Refactor message transport packaging --- src/net.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/net.h') diff --git a/src/net.h b/src/net.h index 2e7f29a8d7..14ab090685 100644 --- a/src/net.h +++ b/src/net.h @@ -699,12 +699,27 @@ public: CNetMessage GetMessage(const CMessageHeader::MessageStartChars& message_start, int64_t time) override; }; +/** The TransportSerializer prepares messages for the network transport + */ +class TransportSerializer { +public: + // prepare message for transport (header construction, error-correction computation, payload encryption, etc.) + virtual void prepareForTransport(CSerializedNetMsg& msg, std::vector& header) = 0; + virtual ~TransportSerializer() {} +}; + +class V1TransportSerializer : public TransportSerializer { +public: + void prepareForTransport(CSerializedNetMsg& msg, std::vector& header) override; +}; + /** Information about a peer */ class CNode { friend class CConnman; public: std::unique_ptr m_deserializer; + std::unique_ptr m_serializer; // socket std::atomic nServices{NODE_NONE}; -- cgit v1.2.3