![]() |
Bitcoin Core 31.0.0
P2P Digital Currency
|
#include <kernel_notifications.h>
Public Member Functions | |
| KernelNotifications (const std::function< bool()> &shutdown_request, std::atomic< int > &exit_status, node::Warnings &warnings) | |
| kernel::InterruptResult | blockTip (SynchronizationState state, const CBlockIndex &index, double verification_progress) override EXCLUSIVE_LOCKS_REQUIRED(!m_tip_block_mutex) |
| void | headerTip (SynchronizationState state, int64_t height, int64_t timestamp, bool presync) override |
| void | progress (const bilingual_str &title, int progress_percent, bool resume_possible) override |
| void | warningSet (kernel::Warning id, const bilingual_str &message) override |
| void | warningUnset (kernel::Warning id) override |
| void | flushError (const bilingual_str &message) override |
| void | fatalError (const bilingual_str &message) override |
| void | setChainstateLoaded (bool chainstate_loaded) EXCLUSIVE_LOCKS_REQUIRED(!m_tip_block_mutex) |
| std::condition_variable m_tip_block_cv | GUARDED_BY (m_tip_block_mutex) |
| KernelState m_state | GUARDED_BY (m_tip_block_mutex) |
| std::optional< uint256 > | TipBlock () EXCLUSIVE_LOCKS_REQUIRED(m_tip_block_mutex) |
| Public Member Functions inherited from kernel::Notifications | |
| virtual | ~Notifications ()=default |
Public Attributes | |
| int | m_stop_at_height {DEFAULT_STOPATHEIGHT} |
| Block height after which blockTip notification will return Interrupted{}, if >0. | |
| bool | m_shutdown_on_fatal_error {true} |
| Useful for tests, can be set to false to avoid shutdown on fatal error. | |
| Mutex | m_tip_block_mutex |
Private Attributes | |
| const std::function< bool()> & | m_shutdown_request |
| std::atomic< int > & | m_exit_status |
| node::Warnings & | m_warnings |
Definition at line 44 of file kernel_notifications.h.
|
inline |
Definition at line 47 of file kernel_notifications.h.
|
nodiscardoverridevirtual |
Reimplemented from kernel::Notifications.
Definition at line 51 of file kernel_notifications.cpp.
|
overridevirtual |
The fatal error notification is sent to notify the user when an error occurs in kernel code that can't be recovered from. After this notification is sent, whatever function triggered the error should also return an error code or raise an exception. Applications can choose to handle the fatal error notification by logging the error, or notifying the user, or triggering an early shutdown as a precaution against causing more errors.
Reimplemented from kernel::Notifications.
Definition at line 97 of file kernel_notifications.cpp.
|
overridevirtual |
The flush error notification is sent to notify the user that an error occurred while flushing block data to disk. Kernel code may ignore flush errors that don't affect the immediate operation it is trying to perform. Applications can choose to handle the flush error notification by logging the error, or notifying the user, or triggering an early shutdown as a precaution against causing more errors.
Reimplemented from kernel::Notifications.
Definition at line 92 of file kernel_notifications.cpp.
| KernelState m_state node::KernelNotifications::GUARDED_BY | ( | m_tip_block_mutex | ) |
| std::condition_variable m_tip_block_cv node::KernelNotifications::GUARDED_BY | ( | m_tip_block_mutex | ) |
|
overridevirtual |
Reimplemented from kernel::Notifications.
Definition at line 70 of file kernel_notifications.cpp.
|
overridevirtual |
Reimplemented from kernel::Notifications.
Definition at line 75 of file kernel_notifications.cpp.
|
inline |
Definition at line 64 of file kernel_notifications.h.
| std::optional< uint256 > node::KernelNotifications::TipBlock | ( | ) |
The block for which the last blockTip notification was received. It's first set when the tip is connected during node initialization. Might be unset during an early shutdown.
Definition at line 103 of file kernel_notifications.cpp.
|
overridevirtual |
Reimplemented from kernel::Notifications.
Definition at line 80 of file kernel_notifications.cpp.
|
overridevirtual |
Reimplemented from kernel::Notifications.
Definition at line 87 of file kernel_notifications.cpp.
|
private |
Definition at line 86 of file kernel_notifications.h.
Useful for tests, can be set to false to avoid shutdown on fatal error.
Definition at line 74 of file kernel_notifications.h.
|
private |
Definition at line 85 of file kernel_notifications.h.
Block height after which blockTip notification will return Interrupted{}, if >0.
Definition at line 72 of file kernel_notifications.h.
Definition at line 76 of file kernel_notifications.h.
Definition at line 87 of file kernel_notifications.h.