1#ifndef XRPL_APP_LEDGER_INBOUNDTRANSACTIONS_H_INCLUDED 
    2#define XRPL_APP_LEDGER_INBOUNDTRANSACTIONS_H_INCLUDED 
    4#include <xrpld/overlay/Peer.h> 
    6#include <xrpl/beast/clock/abstract_clock.h> 
    7#include <xrpl/shamap/SHAMap.h> 
Manages the acquisition and lifetime of transaction sets.
 
InboundTransactions(InboundTransactions const &)=delete
 
InboundTransactions()=default
 
virtual void newRound(std::uint32_t seq)=0
Informs the container if a new consensus round.
 
virtual std::shared_ptr< SHAMap > getSet(uint256 const &setHash, bool acquire)=0
Find and return a transaction set, or nullptr if it is missing.
 
virtual void giveSet(uint256 const &setHash, std::shared_ptr< SHAMap > const &set, bool acquired)=0
Add a transaction set.
 
virtual ~InboundTransactions()=0
 
virtual void gotData(uint256 const &setHash, std::shared_ptr< Peer > peer, std::shared_ptr< protocol::TMLedgerData > message)=0
Add a transaction set from a LedgerData message.
 
InboundTransactions & operator=(InboundTransactions const &)=delete
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
std::unique_ptr< InboundTransactions > make_InboundTransactions(Application &app, beast::insight::Collector::ptr const &collector, std::function< void(std::shared_ptr< SHAMap > const &, bool)> gotSet)