diff --git a/include/ircd/conf.h b/include/ircd/conf.h index b53cbbd18..d107e3dea 100644 --- a/include/ircd/conf.h +++ b/include/ircd/conf.h @@ -53,7 +53,7 @@ namespace ircd::conf IRCD_EXCEPTION(error, not_found) IRCD_EXCEPTION(error, bad_value) - using set_cb = std::function; + using set_cb = std::function &)>; const size_t NAME_MAX_LEN {127}; const size_t VALUE_MAX_LEN {48_KiB}; diff --git a/ircd/client.cc b/ircd/client.cc index 7a34aea9e..b48637655 100644 --- a/ircd/client.cc +++ b/ircd/client.cc @@ -39,7 +39,8 @@ ircd::client::settings::pool_size { { "name", "ircd.client.pool_size" }, { "default", 96L }, - }, [] + }, + [](conf::item &) { if(run::level == run::level::RUN) client::pool.set(client::settings::pool_size); diff --git a/ircd/conf.cc b/ircd/conf.cc index 9e909d204..d1c453a4b 100644 --- a/ircd/conf.cc +++ b/ircd/conf.cc @@ -63,7 +63,7 @@ try if(!item.set_cb) return false; - item.set_cb(); + item.set_cb(item); return true; } catch(const std::out_of_range &e) @@ -359,7 +359,7 @@ noexcept try if(on_set(default_)) if(set_cb) - set_cb(); + set_cb(*this); } catch(const std::exception &e) { @@ -381,7 +381,7 @@ ircd::conf::item::set(const string_view &val) { if(on_set(val)) if(set_cb) - set_cb(); + set_cb(*this); } catch(...) { @@ -389,7 +389,7 @@ ircd::conf::item::set(const string_view &val) { if(on_set(existing)) if(set_cb) - set_cb(); + set_cb(*this); } catch(...) { diff --git a/ircd/db.cc b/ircd/db.cc index 54a0e800a..a5f9c902b 100644 --- a/ircd/db.cc +++ b/ircd/db.cc @@ -62,7 +62,8 @@ ircd::db::request_pool_size { { "name", "ircd.db.request_pool.size" }, { "default", 0L }, - }, [] + }, + [](conf::item &) { request.set(size_t(request_pool_size)); } diff --git a/ircd/fs.cc b/ircd/fs.cc index 698daad5b..20cc25ea3 100644 --- a/ircd/fs.cc +++ b/ircd/fs.cc @@ -22,7 +22,7 @@ namespace ircd::fs { extern conf::item rlimit_nofile; - static void update_rlimit_nofile(); + static void update_rlimit_nofile(conf::item &); static void init_dump_info(); } @@ -74,7 +74,7 @@ ircd::fs::init_dump_info() #if defined(HAVE_SYS_RESOURCE_H) && defined(RLIMIT_NOFILE) void -ircd::fs::update_rlimit_nofile() +ircd::fs::update_rlimit_nofile(conf::item &) try { rlimit rlim[2]; diff --git a/ircd/gpt_model.cc b/ircd/gpt_model.cc index eac25cb2f..87b85325c 100644 --- a/ircd/gpt_model.cc +++ b/ircd/gpt_model.cc @@ -35,7 +35,7 @@ namespace ircd::gpt::model static bool init_from_cache(const string_view &); static void init_from_json_handle(decoder &, const init_handler &, const size_t &); static void init_from_json(const string_view &, const string_view &); - static void init(), fini() noexcept; + static void init(conf::item &), fini() noexcept; extern const init_handler manifest[], @@ -157,7 +157,7 @@ decltype(ircd::gpt::model::default_data) ircd::gpt::model::default_data; void -ircd::gpt::model::init() +ircd::gpt::model::init(conf::item &) { if(!model::path) return; diff --git a/ircd/gpt_vocab.cc b/ircd/gpt_vocab.cc index bd1ba1540..6066ce545 100644 --- a/ircd/gpt_vocab.cc +++ b/ircd/gpt_vocab.cc @@ -22,7 +22,7 @@ namespace ircd::gpt::vocab static u64x2 pre_tokenize(u8x16 (&)[16], const u8x16, const u8x16); static u64x2 unk_tokenize(u16x16 &, const u8x16, u64); static u64x2 tokenize_block(u16x16 &, const u8x16, const i8x16) noexcept; - static void init_tokens(), init_merges(); + static void init_tokens(conf::item &), init_merges(conf::item &); extern const char32_t charset[256]; } @@ -102,7 +102,7 @@ ircd::gpt::vocab::merges_path }; void -ircd::gpt::vocab::init_tokens() +ircd::gpt::vocab::init_tokens(conf::item &) { if(!tokens_path) return; @@ -147,7 +147,7 @@ ircd::gpt::vocab::init_tokens() } void -ircd::gpt::vocab::init_merges() +ircd::gpt::vocab::init_merges(conf::item &) { if(!merges_path) return; diff --git a/ircd/ircd.cc b/ircd/ircd.cc index 920c4b2a3..31bc36d6f 100644 --- a/ircd/ircd.cc +++ b/ircd/ircd.cc @@ -97,7 +97,8 @@ ircd::maintenance { "name", "ircd.maintenance" }, { "default", false }, { "persist", false }, - }, [] + }, + [](conf::item &) { if(!maintenance) return; @@ -117,7 +118,8 @@ ircd::write_avoid { "name", "ircd.write_avoid" }, { "default", false }, { "persist", false }, - }, [] + }, + [](conf::item &) { if(!write_avoid) return; @@ -137,7 +139,8 @@ ircd::read_only { "name", "ircd.read_only" }, { "default", false }, { "persist", false }, - }, [] + }, + [](conf::item &) { if(!read_only) return; diff --git a/ircd/logger.cc b/ircd/logger.cc index a3661f80c..de84386eb 100644 --- a/ircd/logger.cc +++ b/ircd/logger.cc @@ -854,7 +854,8 @@ ircd::log::unmask_file { { "name", "ircd.log.unmask.file" }, { "default", string_view{} }, - }, [] + }, + [](conf::item &) { if(!empty(string_view(unmask_file))) file_unmask(tokens(unmask_file, ' ')); @@ -868,7 +869,8 @@ ircd::log::unmask_console { { "name", "ircd.log.unmask.console" }, { "default", string_view{} }, - }, [] + }, + [](conf::item &) { if(!empty(string_view(unmask_console))) console_unmask(tokens(unmask_console, ' ')); @@ -882,7 +884,8 @@ ircd::log::mask_file { { "name", "ircd.log.mask.file" }, { "default", string_view{} }, - }, [] + }, + [](conf::item &) { if(!empty(string_view(mask_file))) file_mask(tokens(mask_file, ' ')); @@ -896,7 +899,8 @@ ircd::log::mask_console { { "name", "ircd.log.mask.console" }, { "default", string_view{} }, - }, [] + }, + [](conf::item &) { if(!empty(string_view(mask_console))) console_mask(tokens(mask_console, ' ')); diff --git a/ircd/net_dns_resolver.cc b/ircd/net_dns_resolver.cc index ef00fbd20..9ecd5af7f 100644 --- a/ircd/net_dns_resolver.cc +++ b/ircd/net_dns_resolver.cc @@ -45,7 +45,8 @@ ircd::net::dns::resolver::servers { { "name", "ircd.net.dns.resolver.servers" }, { "default", "4.2.2.1 4.2.2.2 4.2.2.3 4.2.2.4 4.2.2.5 4.2.2.6" }, - }, [] + }, + [](conf::item &) { if(bool(ircd::net::dns::resolver_instance)) ircd::net::dns::resolver_instance->set_servers(); diff --git a/ircd/server.cc b/ircd/server.cc index 7d313c3ea..7218cb50c 100644 --- a/ircd/server.cc +++ b/ircd/server.cc @@ -817,7 +817,7 @@ ircd::server::peer::only_ipv6 { "name", "ircd.server.peer.ipv6.only" }, { "default", net::sock_opts::IGN }, }, - []() noexcept + [](conf::item &) noexcept { sock_opts.v6only = ssize_t(only_ipv6); } @@ -830,7 +830,7 @@ ircd::server::peer::sock_nodelay { "name", "ircd.server.peer.sock.nodelay" }, { "default", long(true) }, }, - []() noexcept + [](conf::item &) noexcept { sock_opts.nodelay = ssize_t(sock_nodelay); } @@ -843,7 +843,7 @@ ircd::server::peer::sock_read_bufsz { "name", "ircd.server.peer.sock.read.bufsz" }, { "default", net::sock_opts::IGN }, }, - []() noexcept + [](conf::item &) noexcept { sock_opts.read_bufsz = ssize_t(sock_read_bufsz); } @@ -856,7 +856,7 @@ ircd::server::peer::sock_read_lowat { "name", "ircd.server.peer.sock.read.lowat" }, { "default", net::sock_opts::IGN }, }, - []() noexcept + [](conf::item &) noexcept { sock_opts.read_lowat = ssize_t(sock_read_lowat); } @@ -869,7 +869,7 @@ ircd::server::peer::sock_write_bufsz { "name", "ircd.server.peer.sock.write.bufsz" }, { "default", net::sock_opts::IGN }, }, - []() noexcept + [](conf::item &) noexcept { sock_opts.write_bufsz = ssize_t(sock_write_bufsz); } @@ -882,7 +882,7 @@ ircd::server::peer::sock_write_lowat { "name", "ircd.server.peer.sock.write.lowat" }, { "default", net::sock_opts::IGN }, }, - []() noexcept + [](conf::item &) noexcept { sock_opts.write_lowat = ssize_t(sock_write_lowat); } diff --git a/matrix/dbs.cc b/matrix/dbs.cc index 7339c04ab..a5ac6b87e 100644 --- a/matrix/dbs.cc +++ b/matrix/dbs.cc @@ -64,7 +64,8 @@ ircd::m::dbs::sst_write_buffer_size { { "name", "ircd.m.dbs.sst.write_buffer_size" }, { "default", long(1_MiB) }, - }, [] + }, + [](conf::item &) { static const string_view key{"writable_file_max_buffer_size"}; const size_t &value{sst_write_buffer_size}; diff --git a/matrix/dbs_event_column.cc b/matrix/dbs_event_column.cc index f54644f09..f1f4b1b75 100644 --- a/matrix/dbs_event_column.cc +++ b/matrix/dbs_event_column.cc @@ -60,7 +60,8 @@ ircd::m::dbs::desc::event_id__cache__size { { "name", "ircd.m.dbs.event_id.cache.size" }, { "default", long(48_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{event_id__cache__size}; @@ -74,7 +75,8 @@ ircd::m::dbs::desc::event_id__cache_comp__size { { "name", "ircd.m.dbs.event_id.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{event_id__cache_comp__size}; @@ -144,7 +146,8 @@ ircd::m::dbs::desc::type__cache__size { { "name", "ircd.m.dbs.type.cache.size" }, { "default", long(64_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{type__cache__size}; @@ -158,7 +161,8 @@ ircd::m::dbs::desc::type__cache_comp__size { { "name", "ircd.m.dbs.type.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{type__cache_comp__size}; @@ -228,7 +232,8 @@ ircd::m::dbs::desc::content__cache__size { { "name", "ircd.m.dbs.content.cache.size" }, { "default", long(64_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{content__cache__size}; @@ -242,7 +247,8 @@ ircd::m::dbs::desc::content__cache_comp__size { { "name", "ircd.m.dbs.content.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{content__cache_comp__size}; @@ -329,7 +335,8 @@ ircd::m::dbs::desc::room_id__cache__size { { "name", "ircd.m.dbs.room_id.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{room_id__cache__size}; @@ -343,7 +350,8 @@ ircd::m::dbs::desc::room_id__cache_comp__size { { "name", "ircd.m.dbs.room_id.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{room_id__cache_comp__size}; @@ -412,7 +420,8 @@ ircd::m::dbs::desc::sender__cache__size { { "name", "ircd.m.dbs.sender.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{sender__cache__size}; @@ -426,7 +435,8 @@ ircd::m::dbs::desc::sender__cache_comp__size { { "name", "ircd.m.dbs.sender.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{sender__cache_comp__size}; @@ -495,7 +505,8 @@ ircd::m::dbs::desc::state_key__cache__size { { "name", "ircd.m.dbs.state_key.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{state_key__cache__size}; @@ -509,7 +520,8 @@ ircd::m::dbs::desc::state_key__cache_comp__size { { "name", "ircd.m.dbs.state_key.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{state_key__cache_comp__size}; @@ -580,7 +592,8 @@ ircd::m::dbs::desc::origin_server_ts__cache__size { { "name", "ircd.m.dbs.origin_server_ts.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{origin_server_ts__cache__size}; @@ -594,7 +607,8 @@ ircd::m::dbs::desc::origin_server_ts__cache_comp__size { { "name", "ircd.m.dbs.origin_server_ts.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{origin_server_ts__cache_comp__size}; @@ -664,7 +678,8 @@ ircd::m::dbs::desc::depth__cache__size { { "name", "ircd.m.dbs.depth.cache.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{depth__cache__size}; @@ -678,7 +693,8 @@ ircd::m::dbs::desc::depth__cache_comp__size { { "name", "ircd.m.dbs.depth.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { auto &column(event_column.at(json::indexof())); const size_t &value{depth__cache_comp__size}; diff --git a/matrix/dbs_event_horizon.cc b/matrix/dbs_event_horizon.cc index 89e272f3d..2cfd14d53 100644 --- a/matrix/dbs_event_horizon.cc +++ b/matrix/dbs_event_horizon.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::event_horizon__cache__size { { "name", "ircd.m.dbs._event_horizon.cache.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_horizon__cache__size}; db::capacity(db::cache(dbs::event_horizon), value); @@ -51,7 +52,8 @@ ircd::m::dbs::desc::event_horizon__cache_comp__size { { "name", "ircd.m.dbs._event_horizon.cache_comp.size" }, { "default", long(0_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_horizon__cache_comp__size}; db::capacity(db::cache_compressed(dbs::event_horizon), value); diff --git a/matrix/dbs_event_idx.cc b/matrix/dbs_event_idx.cc index 051eff87e..5d5d6d03e 100644 --- a/matrix/dbs_event_idx.cc +++ b/matrix/dbs_event_idx.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::event_idx__cache__size { { "name", "ircd.m.dbs._event_idx.cache.size" }, { "default", long(128_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_idx__cache__size}; db::capacity(db::cache(dbs::event_idx), value); @@ -51,7 +52,8 @@ ircd::m::dbs::desc::event_idx__cache_comp__size { { "name", "ircd.m.dbs._event_idx.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_idx__cache_comp__size}; db::capacity(db::cache_compressed(dbs::event_idx), value); diff --git a/matrix/dbs_event_json.cc b/matrix/dbs_event_json.cc index fab9bca9e..a0a368592 100644 --- a/matrix/dbs_event_json.cc +++ b/matrix/dbs_event_json.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::event_json__cache__size { { "name", "ircd.m.dbs._event_json.cache.size" }, { "default", long(128_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_json__cache__size}; db::capacity(db::cache(dbs::event_json), value); @@ -51,7 +52,8 @@ ircd::m::dbs::desc::event_json__cache_comp__size { { "name", "ircd.m.dbs._event_json.cache_comp.size" }, { "default", long(0_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_json__cache_comp__size}; db::capacity(db::cache_compressed(dbs::event_json), value); diff --git a/matrix/dbs_event_refs.cc b/matrix/dbs_event_refs.cc index 2af6097cf..f071142f5 100644 --- a/matrix/dbs_event_refs.cc +++ b/matrix/dbs_event_refs.cc @@ -59,7 +59,8 @@ ircd::m::dbs::desc::event_refs__cache__size { { "name", "ircd.m.dbs._event_refs.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_refs__cache__size}; db::capacity(db::cache(dbs::event_refs), value); @@ -72,7 +73,8 @@ ircd::m::dbs::desc::event_refs__cache_comp__size { { "name", "ircd.m.dbs._event_refs.cache_comp.size" }, { "default", long(0_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_refs__cache_comp__size}; db::capacity(db::cache_compressed(dbs::event_refs), value); diff --git a/matrix/dbs_event_sender.cc b/matrix/dbs_event_sender.cc index 7acf24cfc..89297dc86 100644 --- a/matrix/dbs_event_sender.cc +++ b/matrix/dbs_event_sender.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::event_sender__cache__size { { "name", "ircd.m.dbs._event_sender.cache.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_sender__cache__size}; db::capacity(db::cache(dbs::event_sender), value); @@ -51,7 +52,8 @@ ircd::m::dbs::desc::event_sender__cache_comp__size { { "name", "ircd.m.dbs._event_sender.cache_comp.size" }, { "default", long(0_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_sender__cache_comp__size}; db::capacity(db::cache_compressed(dbs::event_sender), value); diff --git a/matrix/dbs_event_state.cc b/matrix/dbs_event_state.cc index 2265682a9..61e27d2c9 100644 --- a/matrix/dbs_event_state.cc +++ b/matrix/dbs_event_state.cc @@ -43,7 +43,8 @@ ircd::m::dbs::desc::event_state__cache__size { { "name", "ircd.m.dbs._event_state.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_state__cache__size}; db::capacity(db::cache(dbs::event_state), value); @@ -56,7 +57,8 @@ ircd::m::dbs::desc::event_state__cache_comp__size { { "name", "ircd.m.dbs._event_state.cache_comp.size" }, { "default", long(0_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_state__cache_comp__size}; db::capacity(db::cache_compressed(dbs::event_state), value); diff --git a/matrix/dbs_event_type.cc b/matrix/dbs_event_type.cc index e5eb58f71..ffd83e268 100644 --- a/matrix/dbs_event_type.cc +++ b/matrix/dbs_event_type.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::event_type__cache__size { { "name", "ircd.m.dbs._event_type.cache.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_type__cache__size}; db::capacity(db::cache(dbs::event_type), value); @@ -51,7 +52,8 @@ ircd::m::dbs::desc::event_type__cache_comp__size { { "name", "ircd.m.dbs._event_type.cache_comp.size" }, { "default", long(0_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{event_type__cache_comp__size}; db::capacity(db::cache_compressed(dbs::event_type), value); diff --git a/matrix/dbs_room_events.cc b/matrix/dbs_room_events.cc index 273cee021..03c69e4d3 100644 --- a/matrix/dbs_room_events.cc +++ b/matrix/dbs_room_events.cc @@ -44,7 +44,8 @@ ircd::m::dbs::desc::room_events__cache__size { { "name", "ircd.m.dbs._room_events.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_events__cache__size}; db::capacity(db::cache(dbs::room_events), value); @@ -57,7 +58,8 @@ ircd::m::dbs::desc::room_events__cache_comp__size { { "name", "ircd.m.dbs._room_events.cache_comp.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_events__cache_comp__size}; db::capacity(db::cache_compressed(dbs::room_events), value); diff --git a/matrix/dbs_room_head.cc b/matrix/dbs_room_head.cc index d9527b8b6..9927d2f0d 100644 --- a/matrix/dbs_room_head.cc +++ b/matrix/dbs_room_head.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::room_head__cache__size { { "name", "ircd.m.dbs._room_head.cache.size" }, { "default", long(8_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_head__cache__size}; db::capacity(db::cache(dbs::room_head), value); diff --git a/matrix/dbs_room_joined.cc b/matrix/dbs_room_joined.cc index 5558c5275..d23f33d9f 100644 --- a/matrix/dbs_room_joined.cc +++ b/matrix/dbs_room_joined.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::room_joined__cache__size { { "name", "ircd.m.dbs._room_joined.cache.size" }, { "default", long(8_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_joined__cache__size}; db::capacity(db::cache(dbs::room_joined), value); @@ -51,7 +52,8 @@ ircd::m::dbs::desc::room_joined__cache_comp__size { { "name", "ircd.m.dbs._room_joined.cache_comp.size" }, { "default", long(8_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_joined__cache_comp__size}; db::capacity(db::cache_compressed(dbs::room_joined), value); diff --git a/matrix/dbs_room_state.cc b/matrix/dbs_room_state.cc index aacde8044..9cd271a81 100644 --- a/matrix/dbs_room_state.cc +++ b/matrix/dbs_room_state.cc @@ -38,7 +38,8 @@ ircd::m::dbs::desc::room_state__cache__size { { "name", "ircd.m.dbs._room_state.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_state__cache__size}; db::capacity(db::cache(dbs::room_state), value); @@ -51,7 +52,8 @@ ircd::m::dbs::desc::room_state__cache_comp__size { { "name", "ircd.m.dbs._room_state.cache_comp.size" }, { "default", long(8_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_state__cache_comp__size}; db::capacity(db::cache_compressed(dbs::room_state), value); diff --git a/matrix/dbs_room_state_space.cc b/matrix/dbs_room_state_space.cc index 570d3c3be..0918c079d 100644 --- a/matrix/dbs_room_state_space.cc +++ b/matrix/dbs_room_state_space.cc @@ -43,7 +43,8 @@ ircd::m::dbs::desc::room_state_space__cache__size { { "name", "ircd.m.dbs._room_state_space.cache.size" }, { "default", long(32_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_state_space__cache__size}; db::capacity(db::cache(dbs::room_state_space), value); @@ -56,7 +57,8 @@ ircd::m::dbs::desc::room_state_space__cache_comp__size { { "name", "ircd.m.dbs._room_state_space.cache_comp.size" }, { "default", long(8_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_state_space__cache_comp__size}; db::capacity(db::cache_compressed(dbs::room_state_space), value); diff --git a/matrix/dbs_room_type.cc b/matrix/dbs_room_type.cc index cd2baf3f3..d7d2e51fa 100644 --- a/matrix/dbs_room_type.cc +++ b/matrix/dbs_room_type.cc @@ -43,7 +43,8 @@ ircd::m::dbs::desc::room_type__cache__size { { "name", "ircd.m.dbs._room_type.cache.size" }, { "default", long(16_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_type__cache__size}; db::capacity(db::cache(dbs::room_type), value); @@ -56,7 +57,8 @@ ircd::m::dbs::desc::room_type__cache_comp__size { { "name", "ircd.m.dbs._room_type.cache_comp.size" }, { "default", long(8_MiB) }, - }, [] + }, + [](conf::item &) { const size_t &value{room_type__cache_comp__size}; db::capacity(db::cache_compressed(dbs::room_type), value); diff --git a/matrix/homeserver.cc b/matrix/homeserver.cc index de9d9eeb3..7262ba192 100644 --- a/matrix/homeserver.cc +++ b/matrix/homeserver.cc @@ -549,7 +549,7 @@ ircd::m::homeserver::conf::conf(const struct opts &opts) { assert(item); if(item->set_cb) - item->set_cb(); + item->set_cb(*item); } catch(const std::exception &e) {