kernel: Introduce empty and unused kernel::Context
[META] In the next commit, we will move the init::{Set,Unset}Globals
logic into this struct.
Co-Authored-By: Ryan Ofsky <ryan@ofsky.org>
This commit is contained in:
1 parent
eeb4fc20c5
commit
7d03feef81
3 files changed
+25
No files matched your search
@@ -172,6 +172,7 @@ BITCOIN_CORE_H = \
|
|||||||
interfaces/wallet.h \
|
interfaces/wallet.h \
|
||||||
kernel/chainstatemanager_opts.h \
|
kernel/chainstatemanager_opts.h \
|
||||||
kernel/coinstats.h \
|
kernel/coinstats.h \
|
||||||
|
kernel/context.h \
|
||||||
key.h \
|
key.h \
|
||||||
key_io.h \
|
key_io.h \
|
||||||
logging.h \
|
logging.h \
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
// Copyright (c) 2022 The Bitcoin Core developers
|
||||||
|
// Distributed under the MIT software license, see the accompanying
|
||||||
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
#ifndef BITCOIN_KERNEL_CONTEXT_H
|
||||||
|
#define BITCOIN_KERNEL_CONTEXT_H
|
||||||
|
|
||||||
|
namespace kernel {
|
||||||
|
//! Context struct holding the kernel library's logically global state, and
|
||||||
|
//! passed to external libbitcoin_kernel functions which need access to this
|
||||||
|
//! state. The kernel libary API is a work in progress, so state organization
|
||||||
|
//! and member list will evolve over time.
|
||||||
|
//!
|
||||||
|
//! State stored directly in this struct should be simple. More complex state
|
||||||
|
//! should be stored to std::unique_ptr members pointing to opaque types.
|
||||||
|
struct Context {
|
||||||
|
};
|
||||||
|
} // namespace kernel
|
||||||
|
|
||||||
|
#endif // BITCOIN_KERNEL_CONTEXT_H
|
||||||
@@ -5,6 +5,8 @@
|
|||||||
#ifndef BITCOIN_NODE_CONTEXT_H
|
#ifndef BITCOIN_NODE_CONTEXT_H
|
||||||
#define BITCOIN_NODE_CONTEXT_H
|
#define BITCOIN_NODE_CONTEXT_H
|
||||||
|
|
||||||
|
#include <kernel/context.h>
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
@@ -39,6 +41,8 @@ namespace node {
|
|||||||
//! any member functions. It should just be a collection of references that can
|
//! any member functions. It should just be a collection of references that can
|
||||||
//! be used without pulling in unwanted dependencies or functionality.
|
//! be used without pulling in unwanted dependencies or functionality.
|
||||||
struct NodeContext {
|
struct NodeContext {
|
||||||
|
//! libbitcoin_kernel context
|
||||||
|
std::unique_ptr<kernel::Context> kernel;
|
||||||
//! Init interface for initializing current process and connecting to other processes.
|
//! Init interface for initializing current process and connecting to other processes.
|
||||||
interfaces::Init* init{nullptr};
|
interfaces::Init* init{nullptr};
|
||||||
std::unique_ptr<AddrMan> addrman;
|
std::unique_ptr<AddrMan> addrman;
|
||||||
|
|||||||
Reference in new issue
Block a user