aboutsummaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/blockmanager_opts.h2
-rw-r--r--src/kernel/notifications_interface.h8
2 files changed, 10 insertions, 0 deletions
diff --git a/src/kernel/blockmanager_opts.h b/src/kernel/blockmanager_opts.h
index 8f26422f72..0251bbb10a 100644
--- a/src/kernel/blockmanager_opts.h
+++ b/src/kernel/blockmanager_opts.h
@@ -5,6 +5,7 @@
#ifndef BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H
#define BITCOIN_KERNEL_BLOCKMANAGER_OPTS_H
+#include <kernel/notifications_interface.h>
#include <util/fs.h>
#include <cstdint>
@@ -25,6 +26,7 @@ struct BlockManagerOpts {
bool fast_prune{false};
bool stop_after_block_import{DEFAULT_STOPAFTERBLOCKIMPORT};
const fs::path blocks_dir;
+ Notifications& notifications;
};
} // namespace kernel
diff --git a/src/kernel/notifications_interface.h b/src/kernel/notifications_interface.h
index 48248e9aa0..e009810473 100644
--- a/src/kernel/notifications_interface.h
+++ b/src/kernel/notifications_interface.h
@@ -27,6 +27,14 @@ public:
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 bilingual_str& warning) {}
+
+ //! 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.
+ virtual void flushError(const std::string& debug_message) {}
};
} // namespace kernel