# Alice and Bob: interactive data sync
msc {
  hscale="2", wordwraparcs=on;

  alice [label="Alice"],
  bob [label="Bob"];

  --- [label="interactive data sync"];
  alice => alice [label="add offers to payload state"];
  alice >> bob [label="send payload with offers"];
    
  bob => bob [label="add requests to payload state"];
  bob >> alice [label="send payload with requests"];
  
  alice => alice [label="add requested messages to state"];
  alice >> bob [label="send payload with messages"];
  
  bob => bob [label="add acks to payload state"];
  bob >> alice [label="send payload with acks"];
}
