#ifndef __CONNECTION_POOL__ #define __CONNECTION_POOL__ #include #include #include "Peer.h" #include "PackedMessage.h" #include "types.h" class KnownNodeList; /* This is the list of all the Peers we are currently connected to */ class ConnectionPool { boost::mutex peerLock; std::vector mPeers; // FIXME std::map peerMap; //std::vector > mBroadcastMessages; public: ConnectionPool(); void connectToNetwork(KnownNodeList& nodeList, boost::asio::io_service& io_service); void relayMessage(Peer* fromPeer, PackedMessage::pointer msg); //bool isMessageKnown(PackedMessage::pointer msg); // hanko->peer mapping functions bool inMap(const uint160& hanko); bool addToMap(const uint160& hanko, Peer::pointer peer); bool delFromMap(const uint160& hanko, Peer::pointer peer); Peer::pointer findInMap(const uint160& hanko); std::map getAllConnected(); bool connectTo(const std::string& host, const std::string& port); }; #endif