pub fn plan(before: &ShardView, after: &ShardView) -> Vec<PlannedOp>Expand description
Plan the transition from before to after.
The global order carries the ordering invariants:
P1 CreateChannel (parents before children)
P2 UpdateChannel
P3 AddUser
P4 MoveUser (before any removal: no occupied channel is deleted)
P5 UpdateUser
P6 RemoveUser
P7 RemoveChannel (children before parents)