From c6bde213b4a77bd4f11b56d4f84fbaab3fdba76b Mon Sep 17 00:00:00 2001 From: Jari Sundell Date: Wed, 8 Jul 2026 18:56:30 +0200 Subject: [PATCH] Added runtime::MemoryManager to split out unrelated features from ChunkManager. --- src/command_local.cc | 9 +++++---- src/main.cc | 6 ++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/command_local.cc b/src/command_local.cc index fddcebf0..f4e986e5 100644 --- a/src/command_local.cc +++ b/src/command_local.cc @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -281,11 +282,11 @@ initialize_command_local() { CMD_ANY ("pieces.preload.min_rate", std::bind(&CM_t::preload_required_rate, chunkManager)); CMD_ANY_VALUE_V ("pieces.preload.min_rate.set", std::bind(&CM_t::set_preload_required_rate, chunkManager, std::placeholders::_2)); - CMD_ANY ("pieces.memory.current", std::bind(&CM_t::memory_usage, chunkManager)); + CMD_ANY ("pieces.memory.current", [](auto, auto) { return torrent::runtime::memory_manager()->memory_usage(); }); CMD_ANY ("pieces.memory.sync_queue", std::bind(&CM_t::sync_queue_memory_usage, chunkManager)); - CMD_ANY ("pieces.memory.block_count", std::bind(&CM_t::memory_block_count, chunkManager)); - CMD_ANY ("pieces.memory.max", std::bind(&CM_t::max_memory_usage, chunkManager)); - CMD_ANY_VALUE_V ("pieces.memory.max.set", std::bind(&CM_t::set_max_memory_usage, chunkManager, std::placeholders::_2)); + CMD_ANY ("pieces.memory.block_count", [](auto, auto) { return torrent::runtime::memory_manager()->memory_block_count(); }); + CMD_ANY ("pieces.memory.max", [](auto, auto) { return torrent::runtime::memory_manager()->max_memory_usage(); }); + CMD_ANY_VALUE_V ("pieces.memory.max.set", [](auto, auto& value) { return torrent::runtime::memory_manager()->set_max_memory_usage(value); }); CMD_ANY ("pieces.stats_preloaded", std::bind(&CM_t::stats_preloaded, chunkManager)); CMD_ANY ("pieces.stats_not_preloaded", std::bind(&CM_t::stats_not_preloaded, chunkManager)); diff --git a/src/main.cc b/src/main.cc index 8c0aab14..4863d4d5 100644 --- a/src/main.cc +++ b/src/main.cc @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -149,8 +150,8 @@ main(int argc, char** argv) { SignalHandler::set_sigaction_handler(SIGBUS, &handle_sigbus); - torrent::log_add_group_output(torrent::LOG_NOTICE, "important"); - torrent::log_add_group_output(torrent::LOG_DHT_ERROR, "important"); + torrent::log_add_group_output(torrent::LOG_NOTICE, "important"); + torrent::log_add_group_output(torrent::LOG_DHT_ERROR, "important"); torrent::log_add_group_output(torrent::LOG_INFO, "complete"); torrent::log_add_group_output(torrent::LOG_DHT_ERROR, "complete"); @@ -444,6 +445,7 @@ main(int argc, char** argv) { }); LT_LOG("seeded srandom and srand48 (seed:%u)", random_seed); + LT_LOG("max memory usage: %" PRIu64, torrent::runtime::memory_manager()->max_memory_usage()); control->initialize(); control->ui()->load_input_history();