CCF
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
ccf::NetworkIdentitySubsystem Class Reference

#include <network_identity_subsystem.h>

Inherits ccf::NetworkIdentitySubsystemInterface.

Public Member Functions

 NetworkIdentitySubsystem (AbstractNodeState &node_state_, const std::unique_ptr< NetworkIdentity > &network_identity_, std::shared_ptr< ccf::historical::StateCacheImpl > historical_cache_)
 
FetchStatus endorsements_fetching_status () const override
 Returns the current status of endorsement fetching.
 
const std::unique_ptr< NetworkIdentity > & get () override
 Returns a reference to the current network identity.
 
std::optional< CoseEndorsementsChainget_cose_endorsements_chain (ccf::SeqNo seqno) const override
 
ccf::crypto::ECPublicKeyPtr get_trusted_identity_for (ccf::SeqNo seqno) const override
 
TrustedKeys get_trusted_keys () const override
 
- Public Member Functions inherited from ccf::NetworkIdentitySubsystemInterface
 ~NetworkIdentitySubsystemInterface () override=default
 
- Public Member Functions inherited from ccf::AbstractNodeSubSystem
virtual ~AbstractNodeSubSystem ()=default
 

Protected Attributes

AbstractNodeStatenode_state
 
const std::unique_ptr< NetworkIdentity > & network_identity
 
std::shared_ptr< historical::StateCacheImplhistorical_cache
 
std::map< SeqNo, CoseEndorsementendorsements
 
std::map< SeqNo, ccf::crypto::ECPublicKeyPtrtrusted_keys
 
std::optional< TxIDcurrent_service_from
 
SeqNo earliest_endorsed_seq {0}
 
std::atomic< FetchStatusfetch_status {FetchStatus::Retry}
 
bool has_predecessors {false}
 

Additional Inherited Members

- Static Public Member Functions inherited from ccf::NetworkIdentitySubsystemInterface
static char const * get_subsystem_name ()
 

Constructor & Destructor Documentation

◆ NetworkIdentitySubsystem()

ccf::NetworkIdentitySubsystem::NetworkIdentitySubsystem ( AbstractNodeState node_state_,
const std::unique_ptr< NetworkIdentity > &  network_identity_,
std::shared_ptr< ccf::historical::StateCacheImpl historical_cache_ 
)
inline

Member Function Documentation

◆ endorsements_fetching_status()

FetchStatus ccf::NetworkIdentitySubsystem::endorsements_fetching_status ( ) const
inlineoverridevirtual

Returns the current status of endorsement fetching.

Implements ccf::NetworkIdentitySubsystemInterface.

◆ get()

const std::unique_ptr< NetworkIdentity > & ccf::NetworkIdentitySubsystem::get ( )
inlineoverridevirtual

Returns a reference to the current network identity.

Implements ccf::NetworkIdentitySubsystemInterface.

◆ get_cose_endorsements_chain()

std::optional< CoseEndorsementsChain > ccf::NetworkIdentitySubsystem::get_cose_endorsements_chain ( ccf::SeqNo  seqno) const
inlineoverridevirtual

Returns the COSE endorsements chain for the given sequence number, or std::nullopt if the chain is not available for the given sequence number.

Exceptions
IdentityHistoryNotFetchedif identity history fetching has not completed.

Implements ccf::NetworkIdentitySubsystemInterface.

◆ get_trusted_identity_for()

ccf::crypto::ECPublicKeyPtr ccf::NetworkIdentitySubsystem::get_trusted_identity_for ( ccf::SeqNo  seqno) const
inlineoverridevirtual

Returns the trusted EC public key that was active at the given sequence number, or nullptr if the sequence number precedes the earliest known trusted key.

Exceptions
IdentityHistoryNotFetchedif identity history fetching has not completed.
std::logic_errorif no trusted keys have been fetched, or if internal key resolution is inconsistent.

Implements ccf::NetworkIdentitySubsystemInterface.

◆ get_trusted_keys()

TrustedKeys ccf::NetworkIdentitySubsystem::get_trusted_keys ( ) const
inlineoverridevirtual

Returns all trusted network identity keys as a map from sequence number to EC public key.

Exceptions
IdentityHistoryNotFetchedif identity history fetching has not completed.

Implements ccf::NetworkIdentitySubsystemInterface.

Member Data Documentation

◆ current_service_from

std::optional<TxID> ccf::NetworkIdentitySubsystem::current_service_from
protected

◆ earliest_endorsed_seq

SeqNo ccf::NetworkIdentitySubsystem::earliest_endorsed_seq {0}
protected

◆ endorsements

std::map<SeqNo, CoseEndorsement> ccf::NetworkIdentitySubsystem::endorsements
protected

◆ fetch_status

std::atomic<FetchStatus> ccf::NetworkIdentitySubsystem::fetch_status {FetchStatus::Retry}
protected

◆ has_predecessors

bool ccf::NetworkIdentitySubsystem::has_predecessors {false}
protected

◆ historical_cache

std::shared_ptr<historical::StateCacheImpl> ccf::NetworkIdentitySubsystem::historical_cache
protected

◆ network_identity

const std::unique_ptr<NetworkIdentity>& ccf::NetworkIdentitySubsystem::network_identity
protected

◆ node_state

AbstractNodeState& ccf::NetworkIdentitySubsystem::node_state
protected

◆ trusted_keys

std::map<SeqNo, ccf::crypto::ECPublicKeyPtr> ccf::NetworkIdentitySubsystem::trusted_keys
protected

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