rippled
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
xrpl::BookListeners Class Reference

Listen to public/subscribe messages from a book. More...

#include <BookListeners.h>

Collaboration diagram for xrpl::BookListeners:
Collaboration graph
[legend]

Public Types

using pointer = std::shared_ptr< BookListeners >
 

Public Member Functions

 BookListeners ()
 
void addSubscriber (InfoSub::ref sub)
 Add a new subscription for this book.
 
void removeSubscriber (std::uint64_t sub)
 Stop publishing to a subscriber.
 
void publish (MultiApiJson const &jvObj, hash_set< std::uint64_t > &havePublished)
 Publish a transaction to subscribers.
 

Private Attributes

std::recursive_mutex mLock
 
hash_map< std::uint64_t, InfoSub::wptrmListeners
 

Detailed Description

Listen to public/subscribe messages from a book.

Definition at line 12 of file BookListeners.h.

Member Typedef Documentation

◆ pointer

Definition at line 15 of file BookListeners.h.

Constructor & Destructor Documentation

◆ BookListeners()

xrpl::BookListeners::BookListeners ( )

Definition at line 17 of file BookListeners.h.

Member Function Documentation

◆ addSubscriber()

void xrpl::BookListeners::addSubscriber ( InfoSub::ref  sub)

Add a new subscription for this book.

Definition at line 6 of file BookListeners.cpp.

◆ removeSubscriber()

void xrpl::BookListeners::removeSubscriber ( std::uint64_t  sub)

Stop publishing to a subscriber.

Definition at line 13 of file BookListeners.cpp.

◆ publish()

void xrpl::BookListeners::publish ( MultiApiJson const &  jvObj,
hash_set< std::uint64_t > &  havePublished 
)

Publish a transaction to subscribers.

Publish a transaction to clients subscribed to changes on this book. Uses havePublished to prevent sending duplicate transactions to clients that have subscribed to multiple books.

Parameters
jvObjJSON transaction data to publish
havePublishedInfoSub sequence numbers that have already published this transaction.

Definition at line 20 of file BookListeners.cpp.

Member Data Documentation

◆ mLock

std::recursive_mutex xrpl::BookListeners::mLock
private

Definition at line 46 of file BookListeners.h.

◆ mListeners

hash_map<std::uint64_t, InfoSub::wptr> xrpl::BookListeners::mListeners
private

Definition at line 48 of file BookListeners.h.