Skip to main content

encode_group_membership_delta

Function encode_group_membership_delta 

Source
pub fn encode_group_membership_delta(
    entries: &BTreeMap<InboxId, GroupMembershipEntry>,
) -> Result<Vec<u8>, MigrationError>
Expand description

Encode GROUP_MEMBERSHIP for the bootstrap wire payload as a TlsMapDelta<InboxId, VLBytes> of all-Insert mutations — one per inbox, each value a GroupMembershipEntry envelope (currently always wrapping a V1).

The wire is always a delta. Bootstrap is the case where the prior dict state is empty, so every mutation is an Insert. Steady- state updates use the same TlsMapDelta wire shape with mixed Insert / Update / Delete mutations describing only the inboxes that changed (see update_group_membership.rs).