// Copyright (c) 2011-2016 The Cryptonote developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #pragma once #include #include #include namespace CryptoNote { struct P2pMessage { uint32_t type; BinaryArray data; }; class IP2pConnection { public: virtual ~IP2pConnection(); virtual void read(P2pMessage &message) = 0; virtual void write(const P2pMessage &message) = 0; virtual void ban() = 0; virtual void stop() = 0; }; class IP2pNode { public: virtual std::unique_ptr receiveConnection() = 0; virtual void stop() = 0; }; }