5 #include <shared_mutex>
82 std::shared_ptr<TaraxaPeer>
peer_;
PbftSyncingState contains common members and functions related to syncing that are shared among multi...
Definition: pbft_syncing_state.hpp:17
std::shared_mutex time_mutex_
Definition: pbft_syncing_state.hpp:79
std::chrono::steady_clock::time_point last_received_sync_packet_time_
Definition: pbft_syncing_state.hpp:78
bool isPbftSyncing()
Check if PBFT is in syncing. If not in active syncing, set PBFT syncing to false.
Definition: pbft_syncing_state.cpp:66
std::shared_ptr< TaraxaPeer > syncingPeer() const
Get the peer that our node is syncing with.
Definition: pbft_syncing_state.cpp:10
bool isActivelySyncing() const
Check if syncing is active.
Definition: pbft_syncing_state.cpp:57
static constexpr std::chrono::seconds kSyncingInactivityThreshold
Definition: pbft_syncing_state.hpp:75
std::shared_ptr< TaraxaPeer > peer_
Definition: pbft_syncing_state.hpp:82
void setLastSyncPacketTime()
Set current time as last received sync packet time.
Definition: pbft_syncing_state.cpp:52
bool setPbftSyncing(bool syncing, PbftPeriod current_period=0, std::shared_ptr< TaraxaPeer > peer=nullptr)
Set pbft syncing.
Definition: pbft_syncing_state.cpp:24
bool isDeepPbftSyncing() const
Check if PBFT is in deep syncing.
Definition: pbft_syncing_state.cpp:64
PbftSyncingState(uint16_t deep_syncing_threshold)
Definition: pbft_syncing_state.cpp:8
std::shared_mutex peer_mutex_
Definition: pbft_syncing_state.hpp:83
std::atomic< bool > pbft_syncing_
Definition: pbft_syncing_state.hpp:70
const uint16_t kDeepSyncingThreshold
Definition: pbft_syncing_state.hpp:72
void setSyncStatePeriod(PbftPeriod period)
Set current pbft period.
Definition: pbft_syncing_state.cpp:15
std::atomic< bool > deep_pbft_syncing_
Definition: pbft_syncing_state.hpp:69
std::chrono::system_clock::time_point time_point
Definition: watches.hpp:12
Definition: vote_manager.hpp:23
EthBlockNumber PbftPeriod
Definition: types.hpp:24