Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Directed acyclic graph of causal dependencies (partial packet ordering) #131
Split off from #126.
Do we care about the "multi-chain execute or rollback" case or is that out of scope?
Chain A executes state transition 1, chain B executes state transition 2, either:
Right now this would need to be done at the application layer, since A and B would have independent channels to C.
With acyclic ordering, this would be possible if a packet receive on C were dependent on a send on A and a send on B, and the timeout of that packet could rollback both A & B - I think it breaks the channel abstraction though, so perhaps not worth it for now.
Alternatively we could implement atomic co-dependencies:
What about that? Not too complex, and I think it does the trick...