20#ifndef RIPPLE_APP_LEDGER_ORDERBOOKDB_H_INCLUDED
21#define RIPPLE_APP_LEDGER_ORDERBOOKDB_H_INCLUDED
23#include <xrpld/app/ledger/AcceptedLedgerTx.h>
24#include <xrpld/app/ledger/BookListeners.h>
25#include <xrpld/app/main/Application.h>
26#include <xrpl/protocol/MultiApiJson.h>
A generic endpoint for log messages.
A transaction that is in a closed ledger.
A currency issued by an account.
BookListeners::pointer getBookListeners(Book const &)
void addOrderBook(Book const &)
bool isBookToXRP(Issue const &)
BookListeners::pointer makeBookListeners(Book const &)
std::atomic< std::uint32_t > seq_
void processTxn(std::shared_ptr< ReadView const > const &ledger, const AcceptedLedgerTx &alTx, MultiApiJson const &jvObj)
std::vector< Book > getBooksByTakerPays(Issue const &)
void update(std::shared_ptr< ReadView const > const &ledger)
int getBookSize(Issue const &)
std::recursive_mutex mLock
BookToListenersMap mListeners
hash_set< Issue > xrpBooks_
hardened_hash_map< Issue, hardened_hash_set< Issue > > allBooks_
void setup(std::shared_ptr< ReadView const > const &ledger)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.