Docs

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>,
    },
}