commonware_broadcast/linked/signer/
config.rs

1use crate::{
2    linked::{Context, Epoch},
3    Application, Collector, ThresholdCoordinator,
4};
5use commonware_cryptography::{Array, Scheme};
6use std::time::Duration;
7
8/// Configuration when creating an `Actor`.
9pub struct Config<
10    C: Scheme,
11    D: Array,
12    A: Application<Context = Context<C::PublicKey>, Digest = D>,
13    Z: Collector<Digest = D>,
14    S: ThresholdCoordinator<Index = Epoch>,
15> {
16    pub crypto: C,
17    pub coordinator: S,
18    pub application: A,
19    pub collector: Z,
20    pub mailbox_size: usize,
21    pub pending_verify_size: usize,
22    pub namespace: Vec<u8>,
23    pub refresh_epoch_timeout: Duration,
24    pub rebroadcast_timeout: Duration,
25    pub epoch_bounds: (u64, u64),
26    pub height_bound: u64,
27    pub journal_name_prefix: String,
28    pub journal_heights_per_section: u64,
29    pub journal_replay_concurrency: usize,
30}