mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Simplify PeerSet, InboundLedger and TransactionAcquire:
* Use std::mutex instead of std::recursive_mutex * Remove unnecessary type alias * Use std::set instead of ripple::hash_map * Don't reinvent virtual functions
This commit is contained in:
@@ -42,7 +42,7 @@ enum
|
||||
};
|
||||
|
||||
TransactionAcquire::TransactionAcquire (Application& app, uint256 const& hash, clock_type& clock)
|
||||
: PeerSet (app, hash, TX_ACQUIRE_TIMEOUT, true, clock,
|
||||
: PeerSet (app, hash, TX_ACQUIRE_TIMEOUT, clock,
|
||||
app.journal("TransactionAcquire"))
|
||||
, mHaveRoot (false)
|
||||
, j_(app.journal("TransactionAcquire"))
|
||||
@@ -56,6 +56,16 @@ TransactionAcquire::~TransactionAcquire ()
|
||||
{
|
||||
}
|
||||
|
||||
void TransactionAcquire::execute ()
|
||||
{
|
||||
app_.getJobQueue ().addJob (
|
||||
jtTXN_DATA, "TransactionAcquire",
|
||||
[ptr = shared_from_this()](Job&)
|
||||
{
|
||||
ptr->invokeOnTimer ();
|
||||
});
|
||||
}
|
||||
|
||||
void TransactionAcquire::done ()
|
||||
{
|
||||
// We hold a PeerSet lock and so cannot do real work here
|
||||
@@ -99,7 +109,7 @@ void TransactionAcquire::onTimer (bool progress, ScopedLockType& psl)
|
||||
}
|
||||
|
||||
if (aggressive)
|
||||
trigger (Peer::ptr ());
|
||||
trigger (nullptr);
|
||||
|
||||
addPeers (1);
|
||||
}
|
||||
@@ -109,7 +119,7 @@ std::weak_ptr<PeerSet> TransactionAcquire::pmDowncast ()
|
||||
return std::dynamic_pointer_cast<PeerSet> (shared_from_this ());
|
||||
}
|
||||
|
||||
void TransactionAcquire::trigger (Peer::ptr const& peer)
|
||||
void TransactionAcquire::trigger (std::shared_ptr<Peer> const& peer)
|
||||
{
|
||||
if (mComplete)
|
||||
{
|
||||
@@ -173,7 +183,7 @@ void TransactionAcquire::trigger (Peer::ptr const& peer)
|
||||
}
|
||||
|
||||
SHAMapAddNode TransactionAcquire::takeNodes (const std::list<SHAMapNodeID>& nodeIDs,
|
||||
const std::list< Blob >& data, Peer::ptr const& peer)
|
||||
const std::list< Blob >& data, std::shared_ptr<Peer> const& peer)
|
||||
{
|
||||
ScopedLockType sl (mLock);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user