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
23
24 void
25 init(int startPeers);
26
27 void
28 stillNeed();
29
30private:
34
35 void
36 onTimer(bool progress, ScopedLockType& peerSetLock) override;
37
38 void
39 done();
40
41 void
42 addPeers(std::size_t limit);
43
44 void
47 pmDowncast() override;
48};
49
50} // 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