rippled
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
ripple::AMMContext Class Reference

Maintains AMM info per overall payment engine execution and individual iteration. More...

#include <AMMContext.h>

Collaboration diagram for ripple::AMMContext:
Collaboration graph
[legend]

Public Member Functions

 AMMContext (AccountID const &account, bool multiPath)
 
 ~AMMContext ()=default
 
 AMMContext (AMMContext const &)=delete
 
AMMContextoperator= (AMMContext const &)=delete
 
bool multiPath () const
 
void setMultiPath (bool fs)
 
void setAMMUsed ()
 
void update ()
 
bool maxItersReached () const
 
std::uint16_t curIters () const
 
AccountID account () const
 
void clear ()
 Strand execution may fail.
 

Static Public Attributes

static constexpr std::uint8_t MaxIterations = 30
 

Private Attributes

AccountID account_
 
bool multiPath_ {false}
 
bool ammUsed_ {false}
 
std::uint16_t ammIters_ {0}
 

Detailed Description

Maintains AMM info per overall payment engine execution and individual iteration.

Only one instance of this class is created in Flow.cpp::flow(). The reference is percolated through calls to AMMLiquidity class, which handles AMM offer generation.

Definition at line 35 of file AMMContext.h.

Constructor & Destructor Documentation

◆ AMMContext() [1/2]

ripple::AMMContext::AMMContext ( AccountID const &  account,
bool  multiPath 
)

Definition at line 54 of file AMMContext.h.

◆ ~AMMContext()

ripple::AMMContext::~AMMContext ( )
default

◆ AMMContext() [2/2]

ripple::AMMContext::AMMContext ( AMMContext const &  )
delete

Member Function Documentation

◆ operator=()

AMMContext & ripple::AMMContext::operator= ( AMMContext const &  )
delete

◆ multiPath()

bool ripple::AMMContext::multiPath ( ) const

Definition at line 64 of file AMMContext.h.

◆ setMultiPath()

void ripple::AMMContext::setMultiPath ( bool  fs)

Definition at line 70 of file AMMContext.h.

◆ setAMMUsed()

void ripple::AMMContext::setAMMUsed ( )

Definition at line 76 of file AMMContext.h.

◆ update()

void ripple::AMMContext::update ( )

Definition at line 82 of file AMMContext.h.

◆ maxItersReached()

bool ripple::AMMContext::maxItersReached ( ) const

Definition at line 90 of file AMMContext.h.

◆ curIters()

std::uint16_t ripple::AMMContext::curIters ( ) const

Definition at line 96 of file AMMContext.h.

◆ account()

AccountID ripple::AMMContext::account ( ) const

Definition at line 102 of file AMMContext.h.

◆ clear()

void ripple::AMMContext::clear ( )

Strand execution may fail.

Reset the flag at the start of each payment engine iteration.

Definition at line 111 of file AMMContext.h.

Member Data Documentation

◆ MaxIterations

constexpr std::uint8_t ripple::AMMContext::MaxIterations = 30
staticconstexpr

Definition at line 41 of file AMMContext.h.

◆ account_

AccountID ripple::AMMContext::account_
private

Definition at line 45 of file AMMContext.h.

◆ multiPath_

bool ripple::AMMContext::multiPath_ {false}
private

Definition at line 47 of file AMMContext.h.

◆ ammUsed_

bool ripple::AMMContext::ammUsed_ {false}
private

Definition at line 49 of file AMMContext.h.

◆ ammIters_

std::uint16_t ripple::AMMContext::ammIters_ {0}
private

Definition at line 51 of file AMMContext.h.