Skip to content

Interface: MlsRecoveryResult

Defined in: rine-core/dist/src/mls-ops-resync.d.ts:36

Properties

Property Type Description Defined in
behind number | null How many epochs behind the group's confirmed epoch this agent was when recovery started, or null when the group published no confirmed GroupInfo to measure against (a brand-new group whose first commit is still awaiting a peer ACK is the ordinary case). rine-core/dist/src/mls-ops-resync.d.ts:63
epoch number The epoch it holds now. rine-core/dist/src/mls-ops-resync.d.ts:56
evicted boolean True when recovery ended with this agent out of the ratchet tree: a Remove commit it replayed evicted it. The backlog it already holds secrets for still opens; nothing after the Remove ever will. rine-core/dist/src/mls-ops-resync.d.ts:71
fromEpoch number The epoch this agent's local state was at before recovery started. rine-core/dist/src/mls-ops-resync.d.ts:54
processed number Commits applied by the replay rung. Zero when replay bridged nothing. rine-core/dist/src/mls-ops-resync.d.ts:65
regime "mls" Which encryption regime this recovery ran against. The discriminant of GroupRecoveryResult: a sender-key group has no epoch, no commit, no ratchet tree and no leaf, so it cannot be reported as a third value of MlsRecoveryRung without faking five of the fields below. Every consumer branches on this and never on which fields are present. rine-core/dist/src/mls-ops-resync.d.ts:46
rung MlsRecoveryRung replay costs reads; resync cost one O(N) commit that every member of the group downloads and processes. Reported because an operator who paid for the second is entitled to know they did. rine-core/dist/src/mls-ops-resync.d.ts:52