rippled
|
Public Types | |
using | clock_type = beast::abstract_clock< std::chrono::steady_clock > |
Public Member Functions | |
InboundLedgersImp (Application &app, clock_type &clock, beast::insight::Collector::ptr const &collector, std::unique_ptr< PeerSetBuilder > peerSetBuilder) | |
std::shared_ptr< Ledger const > | acquire (uint256 const &hash, std::uint32_t seq, InboundLedger::Reason reason) override |
std::shared_ptr< InboundLedger > | find (uint256 const &hash) override |
bool | gotLedgerData (LedgerHash const &hash, std::shared_ptr< Peer > peer, std::shared_ptr< protocol::TMLedgerData > packet) override |
We received a TMLedgerData from a peer. More... | |
void | logFailure (uint256 const &h, std::uint32_t seq) override |
bool | isFailure (uint256 const &h) override |
void | gotStaleData (std::shared_ptr< protocol::TMLedgerData > packet_ptr) override |
We got some data for a ledger we are no longer acquiring Since we paid the price to receive it, we might as well stash it in case we need it. More... | |
void | clearFailures () override |
std::size_t | fetchRate () override |
Returns the rate of historical ledger fetches per minute. More... | |
void | onLedgerFetched () override |
Called when a complete ledger is obtained. More... | |
Json::Value | getInfo () override |
void | gotFetchPack () override |
void | sweep () override |
void | stop () override |
Static Public Attributes | |
static constexpr const std::chrono::minutes | kReacquireInterval {5} |
Private Types | |
using | ScopedLockType = std::unique_lock< std::recursive_mutex > |
using | MapType = hash_map< uint256, std::shared_ptr< InboundLedger > > |
Private Attributes | |
Application & | app_ |
std::mutex | fetchRateMutex_ |
DecayWindow< 30, clock_type > | fetchRate_ |
const beast::Journal | j_ |
clock_type & | m_clock |
std::recursive_mutex | mLock |
bool | stopping_ = false |
MapType | mLedgers |
beast::aged_map< uint256, std::uint32_t > | mRecentFailures |
beast::insight::Counter | mCounter |
std::unique_ptr< PeerSetBuilder > | mPeerSetBuilder |
Definition at line 37 of file InboundLedgers.cpp.
Definition at line 417 of file InboundLedgers.cpp.
|
private |
Definition at line 421 of file InboundLedgers.cpp.
|
inherited |
Definition at line 36 of file InboundLedgers.h.
ripple::InboundLedgersImp::InboundLedgersImp | ( | Application & | app, |
clock_type & | clock, | ||
beast::insight::Collector::ptr const & | collector, | ||
std::unique_ptr< PeerSetBuilder > | peerSetBuilder | ||
) |
Definition at line 50 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 67 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 145 of file InboundLedgers.cpp.
|
overridevirtual |
We received a TMLedgerData from a peer.
Implements ripple::InboundLedgers.
Definition at line 179 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 217 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 225 of file InboundLedgers.cpp.
|
overridevirtual |
We got some data for a ledger we are no longer acquiring Since we paid the price to receive it, we might as well stash it in case we need it.
Nodes are received in wire format and must be stashed/hashed in prefix format
Implements ripple::InboundLedgers.
Definition at line 240 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 272 of file InboundLedgers.cpp.
|
overridevirtual |
Returns the rate of historical ledger fetches per minute.
Implements ripple::InboundLedgers.
Definition at line 281 of file InboundLedgers.cpp.
|
overridevirtual |
Called when a complete ledger is obtained.
Implements ripple::InboundLedgers.
Definition at line 290 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 297 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 335 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 356 of file InboundLedgers.cpp.
|
overridevirtual |
Implements ripple::InboundLedgers.
Definition at line 406 of file InboundLedgers.cpp.
|
private |
Definition at line 40 of file InboundLedgers.cpp.
|
private |
Definition at line 41 of file InboundLedgers.cpp.
|
private |
Definition at line 43 of file InboundLedgers.cpp.
|
private |
Definition at line 44 of file InboundLedgers.cpp.
|
staticconstexpr |
Definition at line 48 of file InboundLedgers.cpp.
|
private |
Definition at line 415 of file InboundLedgers.cpp.
|
private |
Definition at line 418 of file InboundLedgers.cpp.
|
private |
Definition at line 420 of file InboundLedgers.cpp.
|
private |
Definition at line 422 of file InboundLedgers.cpp.
|
private |
Definition at line 424 of file InboundLedgers.cpp.
|
private |
Definition at line 426 of file InboundLedgers.cpp.
|
private |
Definition at line 428 of file InboundLedgers.cpp.