20 #include <ripple/app/ledger/TransactionMaster.h>
21 #include <ripple/app/main/Application.h>
22 #include <ripple/app/misc/Transaction.h>
23 #include <ripple/basics/chrono.h>
24 #include <ripple/protocol/STTx.h>
33 std::chrono::minutes{30},
35 mApp.journal(
"TaggedCache"))
42 auto txn =
mCache.fetch(hash);
54 return mCache.fetch(txnID);
66 return std::pair{std::move(txn),
nullptr};
70 if (std::holds_alternative<TxSearched>(v))
73 auto [txn, txnMeta] = std::get<TxPair>(v);
76 mCache.canonicalize_replace_client(txnID, txn);
78 return std::pair{std::move(txn), std::move(txnMeta)};
93 return std::pair{std::move(txn),
nullptr};
97 if (std::holds_alternative<TxSearched>(v))
100 auto [txn, txnMeta] = std::get<TxPair>(v);
103 mCache.canonicalize_replace_client(txnID, txn);
105 return std::pair{std::move(txn), std::move(txnMeta)};
110 boost::intrusive_ptr<SHAMapItem>
const& item,
122 txn = std::make_shared<STTx const>(
std::ref(sit));
127 txn = std::make_shared<STTx const>(
134 iTx->setStatus(
COMMITTED, uCommitLedger);
136 txn = iTx->getSTransaction();
145 uint256 const tid = (*pTransaction)->getID();
146 if (tid != beast::zero)
148 auto txn = *pTransaction;
150 mCache.canonicalize_replace_client(tid, txn);