Bitcoin ABC 0.32.4
P2P Digital Currency
Public Member Functions | Public Attributes | Private Attributes | List of all members
node::KernelNotifications Class Reference

#include <kernel_notifications.h>

Inheritance diagram for node::KernelNotifications:
[legend]
Collaboration diagram for node::KernelNotifications:
[legend]

Public Member Functions

 KernelNotifications (std::atomic< int > &exit_status)
 
void blockTip (SynchronizationState state, CBlockIndex &index) override
 
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 warning (const std::string &warning) override
 
void flushError (const std::string &debug_message) override
 The flush error notification is sent to notify the user that an error occurred while flushing block data to disk. More...
 
void fatalError (const std::string &debug_message, const bilingual_str &user_message={}) override
 The fatal error notification is sent to notify the user when an error occurs in kernel code that can't be recovered from. More...
 
- Public Member Functions inherited from kernel::Notifications
virtual ~Notifications ()
 
virtual void blockTip (SynchronizationState state, CBlockIndex &index)
 
virtual void headerTip (SynchronizationState state, int64_t height, int64_t timestamp, bool presync)
 
virtual void progress (const bilingual_str &title, int progress_percent, bool resume_possible)
 
virtual void warning (const std::string &warning)
 
virtual void flushError (const std::string &debug_message)
 The flush error notification is sent to notify the user that an error occurred while flushing block data to disk. More...
 
virtual void fatalError (const std::string &debug_message, const bilingual_str &user_message={})
 The fatal error notification is sent to notify the user when an error occurs in kernel code that can't be recovered from. More...
 

Public Attributes

bool m_shutdown_on_fatal_error {true}
 Useful for tests, can be set to false to avoid shutdown on fatal error. More...
 

Private Attributes

std::atomic< int > & m_exit_status
 

Detailed Description

Definition at line 18 of file kernel_notifications.h.

Constructor & Destructor Documentation

◆ KernelNotifications()

node::KernelNotifications::KernelNotifications ( std::atomic< int > &  exit_status)
inline

Definition at line 20 of file kernel_notifications.h.

Member Function Documentation

◆ blockTip()

void node::KernelNotifications::blockTip ( SynchronizationState  state,
CBlockIndex index 
)
overridevirtual

Reimplemented from kernel::Notifications.

Definition at line 51 of file kernel_notifications.cpp.

◆ fatalError()

void node::KernelNotifications::fatalError ( const std::string &  debug_message,
const bilingual_str user_message = {} 
)
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 75 of file kernel_notifications.cpp.

Here is the call graph for this function:

◆ flushError()

void node::KernelNotifications::flushError ( const std::string &  debug_message)
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 71 of file kernel_notifications.cpp.

Here is the call graph for this function:

◆ headerTip()

void node::KernelNotifications::headerTip ( SynchronizationState  state,
int64_t  height,
int64_t  timestamp,
bool  presync 
)
overridevirtual

Reimplemented from kernel::Notifications.

Definition at line 56 of file kernel_notifications.cpp.

◆ progress()

void node::KernelNotifications::progress ( const bilingual_str title,
int  progress_percent,
bool  resume_possible 
)
overridevirtual

Reimplemented from kernel::Notifications.

Definition at line 61 of file kernel_notifications.cpp.

◆ warning()

void node::KernelNotifications::warning ( const std::string &  warning)
overridevirtual

Reimplemented from kernel::Notifications.

Definition at line 67 of file kernel_notifications.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_exit_status

std::atomic<int>& node::KernelNotifications::m_exit_status
private

Definition at line 42 of file kernel_notifications.h.

◆ m_shutdown_on_fatal_error

bool node::KernelNotifications::m_shutdown_on_fatal_error {true}

Useful for tests, can be set to false to avoid shutdown on fatal error.

Definition at line 39 of file kernel_notifications.h.


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