1#ifndef XRPL_APP_LEDGER_INBOUNDLEDGERS_H_INCLUDED
2#define XRPL_APP_LEDGER_INBOUNDLEDGERS_H_INCLUDED
4#include <xrpld/app/ledger/InboundLedger.h>
6#include <xrpl/protocol/RippleLedgerHash.h>
Manages the lifetime of inbound ledgers.
virtual void clearFailures()=0
virtual void acquireAsync(uint256 const &hash, std::uint32_t seq, InboundLedger::Reason reason)=0
virtual std::shared_ptr< Ledger const > acquire(uint256 const &hash, std::uint32_t seq, InboundLedger::Reason)=0
virtual Json::Value getInfo()=0
virtual void logFailure(uint256 const &h, std::uint32_t seq)=0
virtual bool gotLedgerData(LedgerHash const &ledgerHash, std::shared_ptr< Peer >, std::shared_ptr< protocol::TMLedgerData >)=0
virtual std::size_t cacheSize()=0
virtual ~InboundLedgers()=default
virtual std::shared_ptr< InboundLedger > find(LedgerHash const &hash)=0
virtual std::size_t fetchRate()=0
Returns the rate of historical ledger fetches per minute.
virtual bool isFailure(uint256 const &h)=0
virtual void gotFetchPack()=0
virtual void gotStaleData(std::shared_ptr< protocol::TMLedgerData > packet)=0
virtual void onLedgerFetched()=0
Called when a complete ledger is obtained.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::unique_ptr< InboundLedgers > make_InboundLedgers(Application &app, InboundLedgers::clock_type &clock, beast::insight::Collector::ptr const &collector)