router
Source: crates/lvcs-doc/src/router.rs.
/// A subscription, chosen by the daemon shell, unique per daemon.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)]
pub struct SubId(pub u64);
/// Outputs of the router.
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum RouterOutput {
/// Spawn the document actor for `address` (next incarnation).
Spawn { address: String },
/// Push a change to one subscriber. A change produces one `Deliver` per
/// matching subscription, in `SubId` order.
Deliver {
sub: SubId,
address: String,
#[serde(with = "crate::cbor::heads")]
heads: Vec<ChangeHash>,
splices: Vec<Splice>,
},
}