CCF
|
#include <raft.h>
Inherits ccf::kv::Consensus.
Public Member Functions | |
Aft (const ccf::consensus::Configuration &settings_, std::unique_ptr< Store > store_, std::unique_ptr< LedgerProxy > ledger_, std::shared_ptr< ccf::NodeToNode > channels_, std::shared_ptr< aft::State > state_, std::shared_ptr< ccf::NodeClient > rpc_request_context_, bool public_only_=false, ccf::kv::MembershipState initial_membership_state_=ccf::kv::MembershipState::Active, ccf::ReconfigurationType reconfiguration_type_=ccf::ReconfigurationType::ONE_TRANSACTION) | |
virtual | ~Aft ()=default |
std::optional< ccf::NodeId > | primary () override |
ccf::NodeId | id () override |
bool | is_primary () override |
bool | is_candidate () override |
bool | can_replicate () override |
bool | is_at_max_capacity () override |
Consensus::SignatureDisposition | get_signature_disposition () override |
bool | is_backup () override |
bool | is_active () const |
bool | is_retired () const |
bool | is_retired_committed () const |
bool | is_retired_completed () const |
void | set_retired_committed (ccf::SeqNo seqno, const std::vector< ccf::kv::NodeId > &node_ids) override |
Index | last_committable_index () const |
std::optional< Index > | find_highest_possible_committable_index (Index idx) const |
void | compact_committable_indices (Index idx) |
void | enable_all_domains () override |
void | force_become_primary () override |
void | force_become_primary (Index index, Term term, const std::vector< Index > &terms, Index commit_idx_) override |
void | init_as_backup (Index index, Term term, const std::vector< Index > &term_history, Index recovery_start_index=0) override |
Index | get_last_idx () |
Index | get_committed_seqno () override |
Term | get_view () override |
std::pair< Term, Index > | get_committed_txid () override |
Term | get_view (Index idx) override |
std::vector< Index > | get_view_history (Index idx) override |
std::vector< Index > | get_view_history_since (Index idx) override |
std::set< ccf::NodeId > | other_nodes_in_active_configs () const |
void | add_configuration (Index idx, const ccf::kv::Configuration::Nodes &conf, const std::unordered_set< ccf::NodeId > &new_learner_nodes={}, const std::unordered_set< ccf::NodeId > &new_retired_nodes={}) override |
void | start_ticking () |
void | reset_last_ack_timeouts () |
Configuration::Nodes | get_latest_configuration_unsafe () const override |
Configuration::Nodes | get_latest_configuration () override |
ccf::kv::ConsensusDetails | get_details () override |
bool | replicate (const ccf::kv::BatchVector &entries, Term term) override |
void | recv_message (const ccf::NodeId &from, const uint8_t *data, size_t size) override |
void | periodic (std::chrono::milliseconds elapsed) override |
void | become_follower () |
void | become_aware_of_new_term (Term term) |
void | rollback (Index idx) |
nlohmann::json | get_state_representation () const |
![]() | |
virtual | ~Consensus () |
virtual void | periodic_end () |
Public Attributes | |
std::unique_ptr< LedgerProxy > | ledger |
std::shared_ptr< ccf::NodeToNode > | channels |
Static Public Attributes | |
static constexpr size_t | append_entries_size_limit = 20000 |
Additional Inherited Members | |
![]() | |
enum class | SignatureDisposition { CANT_REPLICATE , CAN_SIGN , SHOULD_SIGN } |
|
inline |
|
inlineoverridevirtual |
Implements ccf::kv::ConfigurableConsensus.
|
inline |
|
inline |
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inline |
|
inlineoverridevirtual |
Reimplemented from ccf::kv::Consensus.
|
inline |
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::ConfigurableConsensus.
|
inlineoverridevirtual |
Implements ccf::kv::ConfigurableConsensus.
|
inlineoverridevirtual |
Implements ccf::kv::ConfigurableConsensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inline |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inline |
|
inlineoverridevirtual |
Returns true if the node is primary, max_uncommitted_tx_count is non-zero and the number of transactions replicated but not yet committed exceeds max_uncommitted_tx_count.
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
Reimplemented from ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inlineoverridevirtual |
Implements ccf::kv::Consensus.
|
inline |
|
inlineoverridevirtual |
Reimplemented from ccf::kv::Consensus.
|
inline |
|
staticconstexpr |
std::shared_ptr<ccf::NodeToNode> aft::Aft< LedgerProxy >::channels |
std::unique_ptr<LedgerProxy> aft::Aft< LedgerProxy >::ledger |