CCF
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
kv_types.h File Reference
#include "ccf/claims_digest.h"
#include "ccf/crypto/hash_bytes.h"
#include "ccf/crypto/pem.h"
#include "ccf/ds/nonstd.h"
#include "ccf/entity_id.h"
#include "ccf/kv/get_name.h"
#include "ccf/kv/hooks.h"
#include "ccf/kv/version.h"
#include "ccf/node/cose_signatures_config.h"
#include "ccf/service/consensus_type.h"
#include "ccf/service/reconfiguration_type.h"
#include "ccf/tx_id.h"
#include "crypto/openssl/key_pair.h"
#include "kv/ledger_chunker_interface.h"
#include "serialiser_declare.h"
#include <array>
#include <chrono>
#include <functional>
#include <limits>
#include <list>
#include <memory>
#include <set>
#include <string>
#include <unordered_set>
#include <vector>

Go to the source code of this file.

Classes

struct  ccf::kv::TxID
 
struct  ccf::kv::Configuration
 
struct  ccf::kv::Configuration::NodeInfo
 
struct  ccf::kv::ConsensusDetails
 
struct  ccf::kv::ConsensusDetails::Ack
 
struct  ccf::kv::ConsensusParameters
 
class  ccf::kv::ConfigurableConsensus
 
class  ccf::kv::KvSerialiserException
 
class  ccf::kv::TxHistory
 
struct  ccf::kv::TxHistory::RequestCallbackArgs
 
struct  ccf::kv::TxHistory::ResultCallbackArgs
 
struct  ccf::kv::TxHistory::ResponseCallbackArgs
 
class  ccf::kv::Consensus
 
struct  ccf::kv::PendingTxInfo
 
class  ccf::kv::PendingTx
 
class  ccf::kv::MovePendingTx
 
class  ccf::kv::AbstractTxEncryptor
 
class  ccf::kv::AbstractSnapshotter
 
class  ccf::kv::AbstractChangeSet
 
class  ccf::kv::AbstractCommitter
 
class  ccf::kv::AbstractMap
 
class  ccf::kv::AbstractMap::Snapshot
 
class  ccf::kv::AbstractExecutionWrapper
 
class  ccf::kv::AbstractStore
 
class  ccf::kv::AbstractStore::AbstractSnapshot
 
class  ccf::kv::ScopedStoreMapsLock< StorePointer >
 
struct  formatter< ccf::kv::Configuration::Nodes >
 
struct  formatter< ccf::kv::MembershipState >
 
struct  formatter< ccf::kv::LeadershipState >
 

Namespaces

namespace  ccf
 
namespace  aft
 
namespace  ccf::kv
 

Typedefs

using ccf::kv::Term = uint64_t
 
using ccf::kv::NodeId = ccf::NodeId
 
using ccf::kv::ReconfigurationId = uint64_t
 
using ccf::kv::BatchVector = std::vector< std::tuple< Version, std::shared_ptr< std::vector< uint8_t > >, bool, std::shared_ptr< ConsensusHookPtrs > > >
 
using ccf::kv::EncryptorPtr = std::shared_ptr< AbstractTxEncryptor >
 
using ccf::kv::SnapshotterPtr = std::shared_ptr< AbstractSnapshotter >
 

Enumerations

enum class  ccf::kv::LeadershipState { ccf::kv::None , ccf::kv::Leader , ccf::kv::Follower , ccf::kv::Candidate }
 
enum class  ccf::kv::MembershipState { ccf::kv::Active , ccf::kv::Retired }
 
enum class  ccf::kv::RetirementPhase { ccf::kv::Ordered = 1 , ccf::kv::Signed = 2 , ccf::kv::Completed = 3 , ccf::kv::RetiredCommitted = 4 }
 
enum  ccf::kv::CommitResult { ccf::kv::SUCCESS = 1 , ccf::kv::FAIL_CONFLICT = 2 , ccf::kv::FAIL_NO_REPLICATE = 3 }
 
enum  ccf::kv::SecurityDomain { ccf::kv::PUBLIC , ccf::kv::PRIVATE , ccf::kv::SECURITY_DOMAIN_MAX }
 
enum  ccf::kv::AccessCategory { ccf::kv::INTERNAL , ccf::kv::GOVERNANCE , ccf::kv::APPLICATION }
 
enum class  ccf::kv::EntryType : uint8_t {
  ccf::kv::WriteSet = 0 , ccf::kv::Snapshot = 1 , ccf::kv::WriteSetWithClaims = 2 , ccf::kv::WriteSetWithCommitEvidence = 3 ,
  ccf::kv::WriteSetWithCommitEvidenceAndClaims = 4 , ccf::kv::MAX = WriteSetWithCommitEvidenceAndClaims
}
 
enum  ccf::kv::ApplyResult {
  ccf::kv::PASS = 1 , ccf::kv::PASS_SIGNATURE = 2 , ccf::kv::PASS_BACKUP_SIGNATURE = 3 , ccf::kv::PASS_BACKUP_SIGNATURE_SEND_ACK = 4 ,
  ccf::kv::PASS_NONCES = 5 , ccf::kv::PASS_NEW_VIEW = 6 , ccf::kv::PASS_ENCRYPTED_PAST_LEDGER_SECRET = 8 , ccf::kv::PASS_APPLY = 9 ,
  ccf::kv::FAIL = 10
}
 

Functions

 ccf::kv::DECLARE_JSON_TYPE (TxID)
 
void ccf::kv::to_json (nlohmann::json &j, const Configuration::NodeInfo &ni)
 
void ccf::kv::from_json (const nlohmann::json &j, Configuration::NodeInfo &ni)
 
std::string ccf::kv::schema_name (const Configuration::NodeInfo *)
 
void ccf::kv::fill_json_schema (nlohmann::json &schema, const Configuration::NodeInfo *)
 
 ccf::kv::DECLARE_JSON_ENUM (LeadershipState, {{LeadershipState::None, "None"}, {LeadershipState::Leader, "Leader"}, {LeadershipState::Follower, "Follower"}, {LeadershipState::Candidate, "Candidate"}})
 
 ccf::kv::DECLARE_JSON_ENUM (MembershipState, {{MembershipState::Active, "Active"}, {MembershipState::Retired, "Retired"}})
 
 ccf::kv::DECLARE_JSON_ENUM (RetirementPhase, {{RetirementPhase::Ordered, "Ordered"}, {RetirementPhase::Signed, "Signed"}, {RetirementPhase::Completed, "Completed"}, {RetirementPhase::RetiredCommitted, "RetiredCommitted"}})
 
 ccf::kv::DECLARE_JSON_TYPE (Configuration)
 
 ccf::kv::DECLARE_JSON_REQUIRED_FIELDS (Configuration, idx, nodes, rid)
 
 ccf::kv::DECLARE_JSON_TYPE (ConsensusDetails::Ack)
 
 ccf::kv::DECLARE_JSON_REQUIRED_FIELDS (ConsensusDetails::Ack, seqno, last_received_ms)
 
 ccf::kv::DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (ConsensusDetails)
 
 ccf::kv::DECLARE_JSON_REQUIRED_FIELDS (ConsensusDetails, configs, acks, membership_state, primary_id, current_view, ticking)
 
 ccf::kv::DECLARE_JSON_OPTIONAL_FIELDS (ConsensusDetails, reconfiguration_type, learners, leadership_state, retirement_phase)
 

Variables

constexpr auto ccf::kv::public_domain_prefix = "public:"