mod actor;
mod ingress;
mod state;
use crate::types::Epoch;
pub use actor::Actor;
use commonware_cryptography::certificate::Scheme;
use commonware_p2p::Blocker;
use commonware_parallel::Strategy;
pub use ingress::Mailbox;
#[cfg(test)]
pub use ingress::MailboxMessage;
use std::{num::NonZeroUsize, time::Duration};
pub struct Config<S: Scheme, B: Blocker, T: Strategy> {
pub scheme: S,
pub blocker: B,
pub strategy: T,
pub epoch: Epoch,
pub mailbox_size: NonZeroUsize,
pub fetch_concurrent: NonZeroUsize,
pub fetch_timeout: Duration,
}