rippled
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ripple::TOfferStreamBase< TIn, TOut > Class Template Referenceabstract
Inheritance diagram for ripple::TOfferStreamBase< TIn, TOut >:
Inheritance graph
[legend]
Collaboration diagram for ripple::TOfferStreamBase< TIn, TOut >:
Collaboration graph
[legend]

Classes

class  StepCounter
 

Public Member Functions

 TOfferStreamBase (ApplyView &view, ApplyView &cancelView, Book const &book, NetClock::time_point when, StepCounter &counter, beast::Journal journal)
 
virtual ~TOfferStreamBase ()=default
 
TOffer< TIn, TOut > & tip () const
 Returns the offer at the tip of the order book. More...
 
bool step ()
 Advance to the next valid offer. More...
 
TOut ownerFunds () const
 

Protected Member Functions

void erase (ApplyView &view)
 
virtual void permRmOffer (uint256 const &offerIndex)=0
 
template<class TTakerPays , class TTakerGets >
bool shouldRmSmallIncreasedQOffer () const
 

Protected Attributes

const beast::Journal j_
 
ApplyViewview_
 
ApplyViewcancelView_
 
Book book_
 
bool validBook_
 
const NetClock::time_point expire_
 
BookTip tip_
 
TOffer< TIn, TOut > offer_
 
std::optional< TOut > ownerFunds_
 
StepCountercounter_
 

Detailed Description

template<class TIn, class TOut>
class ripple::TOfferStreamBase< TIn, TOut >

Definition at line 36 of file OfferStream.h.

Constructor & Destructor Documentation

◆ TOfferStreamBase()

template<class TIn , class TOut >
ripple::TOfferStreamBase< TIn, TOut >::TOfferStreamBase ( ApplyView view,
ApplyView cancelView,
Book const &  book,
NetClock::time_point  when,
StepCounter counter,
beast::Journal  journal 
)

Definition at line 38 of file OfferStream.cpp.

◆ ~TOfferStreamBase()

template<class TIn , class TOut >
virtual ripple::TOfferStreamBase< TIn, TOut >::~TOfferStreamBase ( )
virtualdefault

Member Function Documentation

◆ erase()

template<class TIn , class TOut >
void ripple::TOfferStreamBase< TIn, TOut >::erase ( ApplyView view)
protected

Definition at line 61 of file OfferStream.cpp.

◆ permRmOffer()

template<class TIn , class TOut >
virtual void ripple::TOfferStreamBase< TIn, TOut >::permRmOffer ( uint256 const &  offerIndex)
protectedpure virtual

◆ shouldRmSmallIncreasedQOffer()

template<class TIn , class TOut >
template<class TTakerPays , class TTakerGets >
bool ripple::TOfferStreamBase< TIn, TOut >::shouldRmSmallIncreasedQOffer
protected

Definition at line 139 of file OfferStream.cpp.

◆ tip()

template<class TIn , class TOut >
TOffer<TIn, TOut>& ripple::TOfferStreamBase< TIn, TOut >::tip ( ) const

Returns the offer at the tip of the order book.

Offers are always presented in decreasing quality. Only valid if step() returned true.

Definition at line 108 of file OfferStream.h.

◆ step()

template<class TIn , class TOut >
bool ripple::TOfferStreamBase< TIn, TOut >::step

Advance to the next valid offer.

This automatically removes:

  • Offers with missing ledger entries
  • Offers found unfunded
  • expired offers
    Returns
    true if there is a valid offer.

Definition at line 205 of file OfferStream.cpp.

◆ ownerFunds()

template<class TIn , class TOut >
TOut ripple::TOfferStreamBase< TIn, TOut >::ownerFunds ( ) const

Definition at line 124 of file OfferStream.h.

Member Data Documentation

◆ j_

template<class TIn , class TOut >
const beast::Journal ripple::TOfferStreamBase< TIn, TOut >::j_
protected

Definition at line 71 of file OfferStream.h.

◆ view_

template<class TIn , class TOut >
ApplyView& ripple::TOfferStreamBase< TIn, TOut >::view_
protected

Definition at line 72 of file OfferStream.h.

◆ cancelView_

template<class TIn , class TOut >
ApplyView& ripple::TOfferStreamBase< TIn, TOut >::cancelView_
protected

Definition at line 73 of file OfferStream.h.

◆ book_

template<class TIn , class TOut >
Book ripple::TOfferStreamBase< TIn, TOut >::book_
protected

Definition at line 74 of file OfferStream.h.

◆ validBook_

template<class TIn , class TOut >
bool ripple::TOfferStreamBase< TIn, TOut >::validBook_
protected

Definition at line 75 of file OfferStream.h.

◆ expire_

template<class TIn , class TOut >
const NetClock::time_point ripple::TOfferStreamBase< TIn, TOut >::expire_
protected

Definition at line 76 of file OfferStream.h.

◆ tip_

template<class TIn , class TOut >
BookTip ripple::TOfferStreamBase< TIn, TOut >::tip_
protected

Definition at line 77 of file OfferStream.h.

◆ offer_

template<class TIn , class TOut >
TOffer<TIn, TOut> ripple::TOfferStreamBase< TIn, TOut >::offer_
protected

Definition at line 78 of file OfferStream.h.

◆ ownerFunds_

template<class TIn , class TOut >
std::optional<TOut> ripple::TOfferStreamBase< TIn, TOut >::ownerFunds_
protected

Definition at line 79 of file OfferStream.h.

◆ counter_

template<class TIn , class TOut >
StepCounter& ripple::TOfferStreamBase< TIn, TOut >::counter_
protected

Definition at line 80 of file OfferStream.h.