6 #ifndef PIVX_TIERTWO_NET_MASTERNODES_H
7 #define PIVX_TIERTWO_NET_MASTERNODES_H
36 const std::set<uint256>& proTxHashes);
A CService with information about it as peer.
CChainParams defines various tweakable parameters of a given instance of the PIVX system.
Information about a peer.
bool hasQuorumNodes(Consensus::LLMQType llmqType, const uint256 &quorumHash)
std::thread threadOpenMasternodeConnections
void addPendingProbeConnections(const std::set< uint256 > &proTxHashes)
void ThreadOpenMasternodeConnections()
RecursiveMutex cs_vPendingMasternodes
bool isMasternodeQuorumRelayMember(const uint256 &protxHash)
void start(CScheduler &scheduler, const TierTwoConnMan::Options &options)
std::map< QuorumTypeAndHash, std::set< uint256 > > masternodeQuorumNodes GUARDED_BY(cs_vPendingMasternodes)
Optional< uint256 > local_dmn_pro_tx_hash GUARDED_BY(cs_vPendingMasternodes)
std::map< QuorumTypeAndHash, std::set< uint256 > > masternodeQuorumRelayMembers GUARDED_BY(cs_vPendingMasternodes)
std::pair< Consensus::LLMQType, uint256 > QuorumTypeAndHash
void openConnection(const CAddress &addrConnect, bool isProbe)
void setMasternodeQuorumRelayMembers(Consensus::LLMQType llmqType, const uint256 &quorumHash, const std::set< uint256 > &proTxHashes)
TierTwoConnMan(CConnman *_connman)
bool isMasternodeQuorumNode(const CNode *pnode)
std::vector< uint256 > vPendingMasternodes GUARDED_BY(cs_vPendingMasternodes)
void setLocalDMN(const uint256 &pro_tx_hash)
void setQuorumNodes(Consensus::LLMQType llmqType, const uint256 &quorumHash, const std::set< uint256 > &proTxHashes)
std::set< uint256 > masternodePendingProbes GUARDED_BY(cs_vPendingMasternodes)
CThreadInterrupt interruptNet
std::set< uint256 > getQuorumNodes(Consensus::LLMQType llmqType)
bool addPendingMasternode(const uint256 &proTxHash)
void removeQuorumNodes(Consensus::LLMQType llmqType, const uint256 &quorumHash)
boost::optional< T > Optional
Substitute for C++17 std::optional.
bool m_has_specified_outgoing
#define WITH_LOCK(cs, code)
Run code while locking a mutex.