rippled
Public Member Functions | Private Types | Private Attributes | List of all members
ripple::OrderBookDB Class Reference
Collaboration diagram for ripple::OrderBookDB:
Collaboration graph
[legend]

Public Member Functions

 OrderBookDB (Application &app)
 
void setup (std::shared_ptr< ReadView const > const &ledger)
 
void update (std::shared_ptr< ReadView const > const &ledger)
 
void addOrderBook (Book const &)
 
std::vector< BookgetBooksByTakerPays (Issue const &)
 
int getBookSize (Issue const &)
 
bool isBookToXRP (Issue const &)
 
BookListeners::pointer getBookListeners (Book const &)
 
BookListeners::pointer makeBookListeners (Book const &)
 
void processTxn (std::shared_ptr< ReadView const > const &ledger, const AcceptedLedgerTx &alTx, Json::Value const &jvObj)
 

Private Types

using BookToListenersMap = hash_map< Book, BookListeners::pointer >
 

Private Attributes

Applicationapp_
 
hardened_hash_map< Issue, hardened_hash_set< Issue > > allBooks_
 
hash_set< IssuexrpBooks_
 
std::recursive_mutex mLock
 
BookToListenersMap mListeners
 
std::atomic< std::uint32_tseq_
 
const beast::Journal j_
 

Detailed Description

Definition at line 30 of file OrderBookDB.h.

Member Typedef Documentation

◆ BookToListenersMap

Definition at line 79 of file OrderBookDB.h.

Constructor & Destructor Documentation

◆ OrderBookDB()

ripple::OrderBookDB::OrderBookDB ( Application app)
explicit

Definition at line 31 of file OrderBookDB.cpp.

Member Function Documentation

◆ setup()

void ripple::OrderBookDB::setup ( std::shared_ptr< ReadView const > const &  ledger)

Definition at line 37 of file OrderBookDB.cpp.

◆ update()

void ripple::OrderBookDB::update ( std::shared_ptr< ReadView const > const &  ledger)

Definition at line 75 of file OrderBookDB.cpp.

◆ addOrderBook()

void ripple::OrderBookDB::addOrderBook ( Book const &  book)

Definition at line 152 of file OrderBookDB.cpp.

◆ getBooksByTakerPays()

std::vector< Book > ripple::OrderBookDB::getBooksByTakerPays ( Issue const &  issue)
Returns
a list of all orderbooks that want this issuerID and currencyID.

Definition at line 166 of file OrderBookDB.cpp.

◆ getBookSize()

int ripple::OrderBookDB::getBookSize ( Issue const &  issue)
Returns
a count of all orderbooks that want this issuerID and currencyID.

Definition at line 186 of file OrderBookDB.cpp.

◆ isBookToXRP()

bool ripple::OrderBookDB::isBookToXRP ( Issue const &  issue)

Definition at line 195 of file OrderBookDB.cpp.

◆ getBookListeners()

BookListeners::pointer ripple::OrderBookDB::getBookListeners ( Book const &  book)

Definition at line 219 of file OrderBookDB.cpp.

◆ makeBookListeners()

BookListeners::pointer ripple::OrderBookDB::makeBookListeners ( Book const &  book)

Definition at line 202 of file OrderBookDB.cpp.

◆ processTxn()

void ripple::OrderBookDB::processTxn ( std::shared_ptr< ReadView const > const &  ledger,
const AcceptedLedgerTx alTx,
Json::Value const &  jvObj 
)

Definition at line 234 of file OrderBookDB.cpp.

Member Data Documentation

◆ app_

Application& ripple::OrderBookDB::app_
private

Definition at line 69 of file OrderBookDB.h.

◆ allBooks_

hardened_hash_map<Issue, hardened_hash_set<Issue> > ripple::OrderBookDB::allBooks_
private

Definition at line 72 of file OrderBookDB.h.

◆ xrpBooks_

hash_set<Issue> ripple::OrderBookDB::xrpBooks_
private

Definition at line 75 of file OrderBookDB.h.

◆ mLock

std::recursive_mutex ripple::OrderBookDB::mLock
private

Definition at line 77 of file OrderBookDB.h.

◆ mListeners

BookToListenersMap ripple::OrderBookDB::mListeners
private

Definition at line 81 of file OrderBookDB.h.

◆ seq_

std::atomic<std::uint32_t> ripple::OrderBookDB::seq_
private

Definition at line 83 of file OrderBookDB.h.

◆ j_

const beast::Journal ripple::OrderBookDB::j_
private

Definition at line 85 of file OrderBookDB.h.