Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion example/config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
general:
name: NameFromConfig
base_path: /tmp/jam_node
modules_dir: modules

metrics:
enabled: true
Expand All @@ -17,11 +19,16 @@ logging:
groups:
- name: main
sink: console
level: info
level: trace
is_fallback: true
children:
- name: jam
children:
- name: modules
children:
- name: example_module
- name: synchronizer_module
- name: networking_module
- name: injector
- name: application
- name: rpc
Expand Down
10 changes: 6 additions & 4 deletions scripts/asn1.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,10 +185,10 @@ def asn_sequence_of(t):
if T == "U8":
if fixed:
if type(size) is int:
return "qtils::BytesN<%u>" % size
return "qtils::ByteArr<%u>" % size
else:
return "::jam::ConfigVec<uint8_t, Config::Field::%s>" % c_dash(size)
return "qtils::Bytes"
return "qtils::ByteVec"
if fixed:
if isinstance(size, str):
return "::jam::ConfigVec<%s, Config::Field::%s>" % (T, c_dash(size))
Expand Down Expand Up @@ -412,7 +412,8 @@ def __init__(self, cpp_namespace: str, path: str):
"#include <string_view>",
"#include <variant>",
"",
"#include <qtils/bytes.hpp>",
"#include <qtils/byte_arr.hpp>",
"#include <qtils/byte_vec.hpp>",
"#include <qtils/empty.hpp>",
"#include <qtils/tagged.hpp>",
"",
Expand Down Expand Up @@ -468,7 +469,8 @@ def __init__(self, cpp_namespace: str, name: str, path: str, module: str):
"#include <string_view>",
"#include <variant>",
"",
"#include <qtils/bytes.hpp>",
"#include <qtils/byte_arr.hpp>",
"#include <qtils/byte_vec.hpp>",
"",
*includes,
"#include <test-vectors/config-types.hpp>",
Expand Down
4 changes: 3 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
# SPDX-License-Identifier: Apache-2.0
#

include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_SOURCE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${CMAKE_BINARY_DIR}/generated)

# Executables (should contain `main()` function)
add_subdirectory(executable)
Expand Down
1 change: 1 addition & 0 deletions src/app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ target_link_libraries(app_configurator

add_library(app_state_manager SHARED impl/state_manager_impl.cpp)
target_link_libraries(app_state_manager
qtils::qtils
logger
)

Expand Down
24 changes: 18 additions & 6 deletions src/app/configuration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,31 @@
namespace jam::app {

Configuration::Configuration()
: version_("undefined"), name_("unnamed"), metrics_endpoint_() {}
: version_("undefined"),
name_("unnamed"),
metrics_{
.endpoint{},
.enabled{},
} {}

std::string Configuration::nodeVersion() const {
const std::string &Configuration::nodeVersion() const {
return version_;
}

std::string Configuration::nodeName() const {
const std::string &Configuration::nodeName() const {
return name_;
}

std::optional<Configuration::Endpoint> Configuration::metricsEndpoint()
const {
return metrics_endpoint_;
const std::filesystem::path &Configuration::basePath() const {
return base_path_;
}

const std::filesystem::path &Configuration::modulesDir() const {
return modules_dir_;
}

const Configuration::MetricsConfig &Configuration::metrics() const {
return metrics_;
}

} // namespace jam::app
19 changes: 14 additions & 5 deletions src/app/configuration.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <filesystem>
#include <string>

#include <filesystem>
#include <boost/asio/ip/tcp.hpp>
#include <utils/ctor_limiters.hpp>

Expand All @@ -16,24 +17,32 @@ namespace jam::app {
public:
using Endpoint = boost::asio::ip::tcp::endpoint;

struct MetricsConfig {
Endpoint endpoint;
std::optional<bool> enabled;
};

Configuration();

// /// Generate yaml-file with actual config
// virtual void generateConfigFile() const = 0;

[[nodiscard]] std::string nodeVersion() const;
[[nodiscard]] std::string nodeName() const;
[[nodiscard]] virtual const std::string &nodeVersion() const;
[[nodiscard]] virtual const std::string &nodeName() const;
[[nodiscard]] virtual const std::filesystem::path &basePath() const;
[[nodiscard]] virtual const std::filesystem::path &modulesDir() const;

[[nodiscard]] std::optional<Endpoint> metricsEndpoint() const;
[[nodiscard]] virtual const MetricsConfig &metrics() const;

private:
friend class Configurator; // for external configure

std::string version_;
std::string name_;
std::filesystem::path base_path_;
std::filesystem::path modules_dir_;

Endpoint metrics_endpoint_;
std::optional<bool> metrics_enabled_;
MetricsConfig metrics_;
};

} // namespace jam::app
Loading
Loading