Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <quorums_instantsend.h>
Private Attributes | |
CDBWrapper & | db |
unordered_lru_cache< uint256, CInstantSendLockPtr, StaticSaltedHasher, 10000 > | islockCache |
unordered_lru_cache< uint256, uint256, StaticSaltedHasher, 10000 > | txidCache |
unordered_lru_cache< COutPoint, uint256, SaltedOutpointHasher, 10000 > | outpointCache |
Detailed Description
Definition at line 43 of file quorums_instantsend.h.
Constructor & Destructor Documentation
◆ CInstantSendDb()
|
inlineexplicit |
Definition at line 53 of file quorums_instantsend.h.
Member Function Documentation
◆ GetInstantSendLockByHash()
CInstantSendLockPtr llmq::CInstantSendDb::GetInstantSendLockByHash | ( | const uint256 & | hash | ) |
Definition at line 209 of file quorums_instantsend.cpp.
References db, llmq::DB_ISLOCK_BY_HASH, unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::get(), unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::insert(), islockCache, and CDBWrapper::Read().
Referenced by llmq::CInstantSendManager::AlreadyHave(), llmq::CInstantSendManager::GetInstantSendLockByHash(), GetInstantSendLockByInput(), GetInstantSendLockByTxid(), llmq::CInstantSendManager::ProcessInstantSendLock(), llmq::CInstantSendManager::ProcessMessageInstantSendLock(), RemoveChainedInstantSendLocks(), RemoveConfirmedInstantSendLocks(), and RemoveInstantSendLock().
◆ GetInstantSendLockByInput()
CInstantSendLockPtr llmq::CInstantSendDb::GetInstantSendLockByInput | ( | const COutPoint & | outpoint | ) |
Definition at line 254 of file quorums_instantsend.cpp.
References db, llmq::DB_HASH_BY_OUTPOINT, unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::get(), GetInstantSendLockByHash(), unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::insert(), base_blob< BITS >::IsNull(), outpointCache, and CDBWrapper::Read().
Referenced by llmq::CInstantSendManager::GetConflictingLock(), and llmq::CInstantSendManager::ProcessInstantSendLock().
◆ GetInstantSendLockByTxid()
CInstantSendLockPtr llmq::CInstantSendDb::GetInstantSendLockByTxid | ( | const uint256 & | txid | ) |
Definition at line 245 of file quorums_instantsend.cpp.
References GetInstantSendLockByHash(), GetInstantSendLockHashByTxid(), and base_blob< BITS >::IsNull().
Referenced by llmq::CInstantSendManager::IsLocked(), and llmq::CInstantSendManager::ProcessInstantSendLock().
◆ GetInstantSendLockCount()
size_t llmq::CInstantSendDb::GetInstantSendLockCount | ( | ) |
Definition at line 187 of file quorums_instantsend.cpp.
References db, llmq::DB_ISLOCK_BY_HASH, and CDBWrapper::NewIterator().
Referenced by llmq::CInstantSendManager::GetInstantSendLockCount().
◆ GetInstantSendLockHashByTxid()
Definition at line 225 of file quorums_instantsend.cpp.
References db, llmq::DB_HASH_BY_TXID, unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::get(), unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::insert(), base_blob< BITS >::IsNull(), CDBWrapper::Read(), and txidCache.
Referenced by llmq::CInstantSendManager::BlockDisconnected(), GetInstantSendLockByTxid(), llmq::CInstantSendManager::GetInstantSendLockHashByTxid(), llmq::CInstantSendManager::ProcessNewTransaction(), and llmq::CInstantSendManager::ProcessTx().
◆ GetInstantSendLocksByParent()
Definition at line 273 of file quorums_instantsend.cpp.
References db, llmq::DB_HASH_BY_OUTPOINT, and CDBWrapper::NewIterator().
Referenced by RemoveChainedInstantSendLocks().
◆ HasArchivedInstantSendLock()
bool llmq::CInstantSendDb::HasArchivedInstantSendLock | ( | const uint256 & | islockHash | ) |
Definition at line 182 of file quorums_instantsend.cpp.
References db, llmq::DB_ARCHIVED_BY_HASH, and CDBWrapper::Exists().
Referenced by llmq::CInstantSendManager::AlreadyHave().
◆ RemoveArchivedInstantSendLocks()
void llmq::CInstantSendDb::RemoveArchivedInstantSendLocks | ( | int | nUntilHeight | ) |
Definition at line 153 of file quorums_instantsend.cpp.
References be32toh(), llmq::BuildInversedISLockKey(), db, llmq::DB_ARCHIVED_BY_HASH, llmq::DB_ARCHIVED_BY_HEIGHT_AND_HASH, CDBBatch::Erase(), CDBWrapper::NewIterator(), and CDBWrapper::WriteBatch().
Referenced by llmq::CInstantSendManager::HandleFullyConfirmedBlock().
◆ RemoveChainedInstantSendLocks()
std::vector< uint256 > llmq::CInstantSendDb::RemoveChainedInstantSendLocks | ( | const uint256 & | islockHash, |
const uint256 & | txid, | ||
int | nHeight | ||
) |
Definition at line 302 of file quorums_instantsend.cpp.
References db, GetInstantSendLockByHash(), GetInstantSendLocksByParent(), RemoveInstantSendLock(), CDBWrapper::WriteBatch(), and WriteInstantSendLockArchived().
Referenced by llmq::CInstantSendManager::RemoveChainLockConflictingLock().
◆ RemoveConfirmedInstantSendLocks()
std::unordered_map< uint256, CInstantSendLockPtr > llmq::CInstantSendDb::RemoveConfirmedInstantSendLocks | ( | int | nUntilHeight | ) |
Definition at line 113 of file quorums_instantsend.cpp.
References be32toh(), llmq::BuildInversedISLockKey(), db, llmq::DB_MINED_BY_HEIGHT_AND_HASH, CDBBatch::Erase(), GetInstantSendLockByHash(), CDBWrapper::NewIterator(), RemoveInstantSendLock(), CDBWrapper::WriteBatch(), and WriteInstantSendLockArchived().
Referenced by llmq::CInstantSendManager::HandleFullyConfirmedBlock().
◆ RemoveInstantSendLock()
void llmq::CInstantSendDb::RemoveInstantSendLock | ( | CDBBatch & | batch, |
const uint256 & | hash, | ||
CInstantSendLockPtr | islock | ||
) |
Definition at line 70 of file quorums_instantsend.cpp.
References llmq::DB_HASH_BY_OUTPOINT, llmq::DB_HASH_BY_TXID, llmq::DB_ISLOCK_BY_HASH, unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::erase(), CDBBatch::Erase(), GetInstantSendLockByHash(), islockCache, outpointCache, and txidCache.
Referenced by RemoveChainedInstantSendLocks(), and RemoveConfirmedInstantSendLocks().
◆ RemoveInstantSendLockMined()
void llmq::CInstantSendDb::RemoveInstantSendLockMined | ( | const uint256 & | hash, |
int | nHeight | ||
) |
Definition at line 102 of file quorums_instantsend.cpp.
References llmq::BuildInversedISLockKey(), db, llmq::DB_MINED_BY_HEIGHT_AND_HASH, and CDBWrapper::Erase().
Referenced by llmq::CInstantSendManager::BlockDisconnected().
◆ WriteInstantSendLockArchived()
void llmq::CInstantSendDb::WriteInstantSendLockArchived | ( | CDBBatch & | batch, |
const uint256 & | hash, | ||
int | nHeight | ||
) |
Definition at line 107 of file quorums_instantsend.cpp.
References llmq::BuildInversedISLockKey(), llmq::DB_ARCHIVED_BY_HASH, llmq::DB_ARCHIVED_BY_HEIGHT_AND_HASH, and CDBBatch::Write().
Referenced by RemoveChainedInstantSendLocks(), and RemoveConfirmedInstantSendLocks().
◆ WriteInstantSendLockMined()
void llmq::CInstantSendDb::WriteInstantSendLockMined | ( | const uint256 & | hash, |
int | nHeight | ||
) |
Definition at line 97 of file quorums_instantsend.cpp.
References llmq::BuildInversedISLockKey(), db, llmq::DB_MINED_BY_HEIGHT_AND_HASH, and CDBWrapper::Write().
Referenced by llmq::CInstantSendManager::ProcessInstantSendLock(), and llmq::CInstantSendManager::ProcessNewTransaction().
◆ WriteNewInstantSendLock()
void llmq::CInstantSendDb::WriteNewInstantSendLock | ( | const uint256 & | hash, |
const CInstantSendLock & | islock | ||
) |
Definition at line 52 of file quorums_instantsend.cpp.
References db, llmq::DB_HASH_BY_OUTPOINT, llmq::DB_HASH_BY_TXID, llmq::DB_ISLOCK_BY_HASH, llmq::CInstantSendLock::inputs, unordered_lru_cache< Key, Value, Hasher, MaxSize, TruncateThreshold >::insert(), islockCache, outpointCache, llmq::CInstantSendLock::txid, txidCache, CDBBatch::Write(), and CDBWrapper::WriteBatch().
Referenced by llmq::CInstantSendManager::ProcessInstantSendLock().
Member Data Documentation
◆ db
|
private |
Definition at line 46 of file quorums_instantsend.h.
Referenced by GetInstantSendLockByHash(), GetInstantSendLockByInput(), GetInstantSendLockCount(), GetInstantSendLockHashByTxid(), GetInstantSendLocksByParent(), HasArchivedInstantSendLock(), RemoveArchivedInstantSendLocks(), RemoveChainedInstantSendLocks(), RemoveConfirmedInstantSendLocks(), RemoveInstantSendLockMined(), WriteInstantSendLockMined(), and WriteNewInstantSendLock().
◆ islockCache
|
private |
Definition at line 48 of file quorums_instantsend.h.
Referenced by GetInstantSendLockByHash(), RemoveInstantSendLock(), and WriteNewInstantSendLock().
◆ outpointCache
|
private |
Definition at line 50 of file quorums_instantsend.h.
Referenced by GetInstantSendLockByInput(), RemoveInstantSendLock(), and WriteNewInstantSendLock().
◆ txidCache
|
private |
Definition at line 49 of file quorums_instantsend.h.
Referenced by GetInstantSendLockHashByTxid(), RemoveInstantSendLock(), and WriteNewInstantSendLock().
The documentation for this class was generated from the following files:
- src/llmq/quorums_instantsend.h
- src/llmq/quorums_instantsend.cpp