PrevUpHomeNext

ConsensusMode

Represents how a node currently participates in Consensus.

Synopsis
enum ConsensusMode

Values

Name

Description

proposing

We are normal participant in consensus and propose our position.

observing

We are observing peer positions, but not proposing our position.

wrongLedger

We have the wrong ledger and are attempting to acquire it.

switchedLedger

We switched ledgers since we started this consensus round but are now running on what we believe is the correct ledger.

Description

A node participates in consensus in varying modes, depending on how the node was configured by its operator and how well it stays in sync with the network during consensus.

proposing               observing
   \                       /
    \---> wrongLedger <---/
               ^
               |
               |
               v
          switchedLedger

We enter the round proposing or observing. If we detect we are working on the wrong prior ledger, we go to wrongLedger and attempt to acquire the right one. Once we acquire the right one, we go to the switchedLedger mode. It is possible we fall behind again and find there is a new better ledger, moving back and forth between wrongLedger and switchLedger as we attempt to catch up.

Header

#include <ripple/consensus/ConsensusTypes.h>


PrevUpHomeNext