incarnations
Source: crates/lvcs/src/runtime/mod.rs.
/// Mints the [`ActorId`] for each spawn, so every spawn of a `(kind, key)`
/// is a new incarnation, across daemon restarts too (design §6).
///
/// At startup the shell passes the `ActorId` of every journal entry to
/// [`observe`](Self::observe); after that, [`next`](Self::next) mints the id
/// for each spawn. An incarnation that handled no events leaves no journal
/// entry, so its number may be minted again after a restart; no entry
/// refers to it.
#[derive(Debug, Clone, Default)]
pub(crate) struct Incarnations {
/// The next incarnation to mint, by kind and then key.
next: BTreeMap<&'static str, BTreeMap<String, u64>>,
}