CCF
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
ccf::kv::Consensus Class Referenceabstract

#include <kv_types.h>

Inherits ccf::kv::ConfigurableConsensus.

Inherited by aft::Aft< LedgerProxy >.

Public Types

enum class  SignatureDisposition { CANT_REPLICATE , CAN_SIGN , SHOULD_SIGN }
 

Public Member Functions

virtual ~Consensus ()
 
virtual NodeId id ()=0
 
virtual bool is_primary ()=0
 
virtual bool is_backup ()=0
 
virtual bool is_candidate ()=0
 
virtual bool can_replicate ()=0
 
virtual bool is_at_max_capacity ()=0
 
virtual SignatureDisposition get_signature_disposition ()=0
 
virtual void force_become_primary ()=0
 
virtual void force_become_primary (ccf::SeqNo, ccf::View, const std::vector< ccf::SeqNo > &, ccf::SeqNo)=0
 
virtual void init_as_backup (ccf::SeqNo, ccf::View, const std::vector< ccf::SeqNo > &, ccf::SeqNo)=0
 
virtual bool replicate (const BatchVector &entries, ccf::View view)=0
 
virtual std::pair< ccf::View, ccf::SeqNoget_committed_txid ()=0
 
virtual ccf::View get_view (ccf::SeqNo seqno)=0
 
virtual ccf::View get_view ()=0
 
virtual std::vector< ccf::SeqNoget_view_history (ccf::SeqNo seqno=std::numeric_limits< ccf::SeqNo >::max())=0
 
virtual std::vector< ccf::SeqNoget_view_history_since (ccf::SeqNo seqno)=0
 
virtual ccf::SeqNo get_committed_seqno ()=0
 
virtual std::optional< NodeIdprimary ()=0
 
virtual void recv_message (const NodeId &from, const uint8_t *data, size_t size)=0
 
virtual void periodic (std::chrono::milliseconds)
 
virtual void periodic_end ()
 
virtual void enable_all_domains ()
 
virtual void set_retired_committed (ccf::SeqNo, const std::vector< NodeId > &node_ids)
 
- Public Member Functions inherited from ccf::kv::ConfigurableConsensus
virtual void add_configuration (ccf::SeqNo seqno, const Configuration::Nodes &conf, const std::unordered_set< NodeId > &learners={}, const std::unordered_set< NodeId > &retired_nodes={})=0
 
virtual Configuration::Nodes get_latest_configuration ()=0
 
virtual Configuration::Nodes get_latest_configuration_unsafe () const =0
 
virtual ConsensusDetails get_details ()=0
 

Member Enumeration Documentation

◆ SignatureDisposition

Enumerator
CANT_REPLICATE 
CAN_SIGN 
SHOULD_SIGN 

Constructor & Destructor Documentation

◆ ~Consensus()

virtual ccf::kv::Consensus::~Consensus ( )
inlinevirtual

Member Function Documentation

◆ can_replicate()

virtual bool ccf::kv::Consensus::can_replicate ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ enable_all_domains()

virtual void ccf::kv::Consensus::enable_all_domains ( )
inlinevirtual

Reimplemented in aft::Aft< LedgerProxy >.

◆ force_become_primary() [1/2]

virtual void ccf::kv::Consensus::force_become_primary ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ force_become_primary() [2/2]

virtual void ccf::kv::Consensus::force_become_primary ( ccf::SeqNo  ,
ccf::View  ,
const std::vector< ccf::SeqNo > &  ,
ccf::SeqNo   
)
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ get_committed_seqno()

virtual ccf::SeqNo ccf::kv::Consensus::get_committed_seqno ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ get_committed_txid()

virtual std::pair< ccf::View, ccf::SeqNo > ccf::kv::Consensus::get_committed_txid ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ get_signature_disposition()

virtual SignatureDisposition ccf::kv::Consensus::get_signature_disposition ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ get_view() [1/2]

virtual ccf::View ccf::kv::Consensus::get_view ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ get_view() [2/2]

virtual ccf::View ccf::kv::Consensus::get_view ( ccf::SeqNo  seqno)
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ get_view_history()

virtual std::vector< ccf::SeqNo > ccf::kv::Consensus::get_view_history ( ccf::SeqNo  seqno = std::numeric_limits< ccf::SeqNo >::max())
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ get_view_history_since()

virtual std::vector< ccf::SeqNo > ccf::kv::Consensus::get_view_history_since ( ccf::SeqNo  seqno)
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ id()

virtual NodeId ccf::kv::Consensus::id ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ init_as_backup()

virtual void ccf::kv::Consensus::init_as_backup ( ccf::SeqNo  ,
ccf::View  ,
const std::vector< ccf::SeqNo > &  ,
ccf::SeqNo   
)
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ is_at_max_capacity()

virtual bool ccf::kv::Consensus::is_at_max_capacity ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ is_backup()

virtual bool ccf::kv::Consensus::is_backup ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ is_candidate()

virtual bool ccf::kv::Consensus::is_candidate ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ is_primary()

virtual bool ccf::kv::Consensus::is_primary ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ periodic()

virtual void ccf::kv::Consensus::periodic ( std::chrono::milliseconds  )
inlinevirtual

Reimplemented in aft::Aft< LedgerProxy >.

◆ periodic_end()

virtual void ccf::kv::Consensus::periodic_end ( )
inlinevirtual

◆ primary()

virtual std::optional< NodeId > ccf::kv::Consensus::primary ( )
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ recv_message()

virtual void ccf::kv::Consensus::recv_message ( const NodeId from,
const uint8_t *  data,
size_t  size 
)
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ replicate()

virtual bool ccf::kv::Consensus::replicate ( const BatchVector entries,
ccf::View  view 
)
pure virtual

Implemented in aft::Aft< LedgerProxy >.

◆ set_retired_committed()

virtual void ccf::kv::Consensus::set_retired_committed ( ccf::SeqNo  ,
const std::vector< NodeId > &  node_ids 
)
inlinevirtual

Reimplemented in aft::Aft< LedgerProxy >.


The documentation for this class was generated from the following file: