![]() |
PIVX Core
5.6.99
P2P Digital Currency
|
The quorum manager maintains quorums which were mined on chain. More...
#include <quorums.h>
Public Member Functions | |
| CQuorumManager (CEvoDB &_evoDb, CBLSWorker &_blsWorker, CDKGSessionManager &_dkgManager) | |
| void | UpdatedBlockTip (const CBlockIndex *pindexNew, bool fInitialDownload) |
| bool | HasQuorum (Consensus::LLMQType llmqType, const uint256 &quorumHash) |
| CQuorumCPtr | GetQuorum (Consensus::LLMQType llmqType, const uint256 &quorumHash) |
| std::vector< CQuorumCPtr > | ScanQuorums (Consensus::LLMQType llmqType, size_t maxCount) |
| std::vector< CQuorumCPtr > | ScanQuorums (Consensus::LLMQType llmqType, const CBlockIndex *pindexStart, size_t maxCount) |
Private Member Functions | |
| void | EnsureQuorumConnections (Consensus::LLMQType llmqType, const CBlockIndex *pindexNew) |
| bool | BuildQuorumFromCommitment (const CFinalCommitment &qc, const CBlockIndex *pindexQuorum, const uint256 &minedBlockHash, std::shared_ptr< CQuorum > &quorum) const |
| bool | BuildQuorumContributions (const CFinalCommitment &fqc, std::shared_ptr< CQuorum > &quorum) const |
| CQuorumCPtr | GetQuorum (Consensus::LLMQType llmqType, const CBlockIndex *pindexQuorum) |
Private Attributes | |
| CEvoDB & | evoDb |
| CBLSWorker & | blsWorker |
| CDKGSessionManager & | dkgManager |
| RecursiveMutex | quorumsCacheCs |
| std::map< Consensus::LLMQType, unordered_lru_cache< uint256, CQuorumCPtr, StaticSaltedHasher > > | mapQuorumsCache |
| std::map< Consensus::LLMQType, unordered_lru_cache< uint256, std::vector< CQuorumCPtr >, StaticSaltedHasher > > | scanQuorumsCache |
The quorum manager maintains quorums which were mined on chain.
When a quorum is requested from the manager, it will lookup the commitment (through CQuorumBlockProcessor) and build a CQuorum object from it.
It is also responsible for initialization of the intra-quorum connections for new quorums.
| llmq::CQuorumManager::CQuorumManager | ( | CEvoDB & | _evoDb, |
| CBLSWorker & | _blsWorker, | ||
| CDKGSessionManager & | _dkgManager | ||
| ) |
|
private |
Definition at line 212 of file quorums.cpp.
|
private |
Definition at line 182 of file quorums.cpp.
|
private |
|
private |
| CQuorumCPtr llmq::CQuorumManager::GetQuorum | ( | Consensus::LLMQType | llmqType, |
| const uint256 & | quorumHash | ||
| ) |
Definition at line 318 of file quorums.cpp.
| bool llmq::CQuorumManager::HasQuorum | ( | Consensus::LLMQType | llmqType, |
| const uint256 & | quorumHash | ||
| ) |
| std::vector< CQuorumCPtr > llmq::CQuorumManager::ScanQuorums | ( | Consensus::LLMQType | llmqType, |
| const CBlockIndex * | pindexStart, | ||
| size_t | maxCount | ||
| ) |
| std::vector< CQuorumCPtr > llmq::CQuorumManager::ScanQuorums | ( | Consensus::LLMQType | llmqType, |
| size_t | maxCount | ||
| ) |
Definition at line 253 of file quorums.cpp.
| void llmq::CQuorumManager::UpdatedBlockTip | ( | const CBlockIndex * | pindexNew, |
| bool | fInitialDownload | ||
| ) |
|
private |
|
private |
|
mutableprivate |
|
private |
|
mutableprivate |