rippled
Loading...
Searching...
No Matches
TransactionAcquire.h
1#pragma once
2
3#include <xrpld/overlay/PeerSet.h>
4
5#include <xrpl/shamap/SHAMap.h>
6
7namespace xrpl {
8
9// VFALCO TODO rename to PeerTxRequest
10// A transaction set we are trying to acquire
12 public std::enable_shared_from_this<TransactionAcquire>,
13 public CountedObject<TransactionAcquire>
14{
15public:
17
20
25
26 void
27 init(int startPeers);
28
29 void
30 stillNeed();
31
32private:
34 bool mHaveRoot{false};
36
37 void
38 onTimer(bool progress, ScopedLockType& peerSetLock) override;
39
40 void
41 done();
42
43 void
44 addPeers(std::size_t limit);
45
46 void
49 pmDowncast() override;
50};
51
52} // namespace xrpl
Tracks the number of instances of an object.
This class is an "active" object.
void onTimer(bool progress, ScopedLockType &peerSetLock) override
Hook called from invokeOnTimer().
std::shared_ptr< SHAMap > mMap
void addPeers(std::size_t limit)
void trigger(std::shared_ptr< Peer > const &)
SHAMapAddNode takeNodes(std::vector< std::pair< SHAMapNodeID, Slice > > const &data, std::shared_ptr< Peer > const &)
std::weak_ptr< TimeoutCounter > pmDowncast() override
Return a weak pointer to this.
std::unique_ptr< PeerSet > mPeerSet
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5