0ee387d983
* squashing work on using cancellation in nym crates making nym-task wasm compilable removed sending of status messages replaced TaskManager with ShutdownManager in the validator rewarder additional helpers for ShutdownManager simplified ShutdownToken by removing the name field TaskClient => ShutdownToken within all client tasks wip: remove TaskHandle * track all long-living client tasks * add task tracking for most top level tasks within nym-node * improved default builder * split up cancellation module * module documentation and unit tests * nym node fixes and naming consistency * wasm fixes * assert_eq => assert * wasm fixes and made 'run_until_shutdown' take reference instead of ownership * linux-specific fixes to IpPacketRouter * post rebasing fixes for signing monitor * add ShutdownManager constructor to build it from an external token * applying PR review suggestions
31 lines
1001 B
Rust
31 lines
1001 B
Rust
// Copyright 2025 - Nym Technologies SA <contact@nymtech.net>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
use crate::signers_cache::cache::refresher::SignersCacheDataProvider;
|
|
use crate::signers_cache::cache::SignersCacheData;
|
|
use crate::support::caching::cache::SharedCache;
|
|
use crate::support::caching::refresher::CacheRefresher;
|
|
use crate::support::{config, nyxd};
|
|
use nym_task::ShutdownManager;
|
|
|
|
pub(crate) mod cache;
|
|
pub(crate) mod handlers;
|
|
|
|
pub(crate) fn start_refresher(
|
|
config: &config::SignersCache,
|
|
nyxd_client: nyxd::Client,
|
|
shutdown_manager: &ShutdownManager,
|
|
) -> SharedCache<SignersCacheData> {
|
|
let refresher = CacheRefresher::new(
|
|
SignersCacheDataProvider::new(nyxd_client),
|
|
config.debug.refresh_interval,
|
|
)
|
|
.named("signers-cache-refresher");
|
|
let shared_cache = refresher.get_shared_cache();
|
|
refresher.start_with_delay(
|
|
shutdown_manager.clone_shutdown_token(),
|
|
config.debug.refresher_start_delay,
|
|
);
|
|
shared_cache
|
|
}
|