aboutsummaryrefslogtreecommitdiffstats
path: root/src/node.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/node.rs')
-rw-r--r--src/node.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/node.rs b/src/node.rs
index e64db6c..c1a26de 100644
--- a/src/node.rs
+++ b/src/node.rs
@@ -68,6 +68,8 @@ pub(crate) struct NodeConfig {
/// (`document::signatures`): every node's, its node ID being its public key; none in
/// the simulations without the identity layer, whose node IDs are names.
pub(crate) node_key: Option<Arc<crate::identity::NodeKey>>,
+ /// `--sign-every`.
+ pub(crate) sign_every: crate::document::signatures::SignEvery,
/// `--token-lifetime`, `--session-lifetime`.
pub(crate) token_lifetime: Duration,
pub(crate) session_lifetime: Duration,
@@ -153,6 +155,7 @@ impl Node {
protocol_writers: Arc::new(config.protocol_writers),
first_users: Arc::new(config.first_users),
node_key: config.node_key,
+ sign_every: config.sign_every,
token_lifetime: config.token_lifetime,
session_lifetime: config.session_lifetime,
cors_origins: Arc::new(config.cors_origins),
@@ -230,6 +233,9 @@ impl Node {
tokio::spawn(peer::probe_when_reachable(state.clone(), reachable));
tokio::spawn(remake::run_worker(state.clone()));
+ if let crate::document::signatures::SignEvery::Interval(every) = state.sign_every {
+ tokio::spawn(state.clone().sign_latest_every(every));
+ }
trace!("Remake worker task spawned");
tokio::spawn(swarm::topology::run_worker(state.clone()));