Skip to content

Instantly share code, notes, and snippets.

@mikebrock
Created May 5, 2013 23:36
Show Gist options
  • Save mikebrock/5522590 to your computer and use it in GitHub Desktop.
Save mikebrock/5522590 to your computer and use it in GitHub Desktop.
TYPE FROM TO MUTATIONS REV STATE
--------------------------------------------------------------------------------------------------------------------------------------------
SYNC Server ClientA 0 ""
SYNC Server ClientB 0 ""
APPLY - ClientA [INS[0,"A"]] 0 "A"
APPLY - ClientA [INS[1,"B"]] 1 "AB"
APPLY - ClientA [INS[2,"C"]] 2 "ABC"
TRANSMIT ClientA Server [INS[0,"A"]] 0 "ABC"
APPLY - Server [INS[0,"A"]] 0 "A"
TRANSMIT Server ClientB [INS[0,"A"]] 0 "A"
APPLY - ClientB [INS[0,"A"]] 0 "A"
TRANSMIT ClientA Server [INS[1,"B"]] 1 "ABC"
APPLY - Server [INS[1,"B"]] 1 "AB"
TRANSMIT Server ClientB [INS[1,"B"]] 1 "AB"
APPLY - ClientB [INS[1,"B"]] 1 "AB"
TRANSMIT ClientA Server [INS[2,"C"]] 2 "ABC"
APPLY - Server [INS[2,"C"]] 2 "ABC"
TRANSMIT Server ClientB [INS[2,"C"]] 2 "ABC"
APPLY - ClientB [INS[2,"C"]] 2 "ABC"
APPLY - ClientA [INS[3,"D"]] 3 "ABCD"
APPLY - ClientA [INS[4,"E"]] 4 "ABCDE"
APPLY - ClientA [INS[5,"F"]] 5 "ABCDEF"
APPLY - ClientA [INS[6,"G"]] 6 "ABCDEFG"
APPLY - ClientA [INS[7,"H"]] 7 "ABCDEFGH"
APPLY - ClientB [INS[0,"X"]] 3 "XABC"
APPLY - ClientB [INS[1,"Y"]] 4 "XYABC"
TRANSMIT ClientB Server [INS[0,"X"]] 3 "XYABC"
APPLY - Server [INS[0,"X"]] 3 "XABC"
TRANSMIT Server ClientA [INS[0,"X"]] 3 "XABC"
REWIND - ClientA <<>> 4 "ABCD"
TRANSFORM - ClientA [INS[0,"X"]] , [INS[3,"D"]] -> [INS[0,"X"]] 3 "ABCD"
TRANSFORM - ClientA [INS[4,"E"]] , [INS[0,"X"]] -> [INS[5,"E"]] 4 "ABCD"
APPLY - ClientA [INS[0,"X"]] 8 "XABCD"
TRANSFORM - ClientA [INS[0,"X"]] , [INS[5,"E"]] -> [INS[0,"X"]] 8 "XABCD"
APPLY - ClientA [INS[5,"E"]] 8 "XABCDE"
TRANSFORM - ClientA [INS[5,"F"]] , [INS[0,"X"]] -> [INS[6,"F"]] 5 "XABCDE"
TRANSFORM - ClientA [INS[0,"X"]] , [INS[6,"F"]] -> [INS[0,"X"]] 5 "XABCDE"
APPLY - ClientA [INS[6,"F"]] 6 "XABCDEF"
TRANSFORM - ClientA [INS[6,"G"]] , [INS[0,"X"]] -> [INS[7,"G"]] 6 "XABCDEF"
TRANSFORM - ClientA [INS[0,"X"]] , [INS[7,"G"]] -> [INS[0,"X"]] 6 "XABCDEF"
APPLY - ClientA [INS[7,"G"]] 7 "XABCDEFG"
TRANSFORM - ClientA [INS[7,"H"]] , [INS[0,"X"]] -> [INS[8,"H"]] 7 "XABCDEFG"
TRANSFORM - ClientA [INS[0,"X"]] , [INS[8,"H"]] -> [INS[0,"X"]] 7 "XABCDEFG"
APPLY - ClientA [INS[8,"H"]] 8 "XABCDEFGH"
TRANSMIT ClientB Server [INS[1,"Y"]] 4 "XYABC"
APPLY - Server [INS[1,"Y"]] 4 "XYABC"
TRANSMIT Server ClientA [INS[1,"Y"]] 4 "XYABC"
REWIND - ClientA <<>> 5 "ABCD"
TRANSFORM - ClientA [INS[4,"E"]] , [INS[0,"X"]] -> [INS[5,"E"]] 4 "ABCD"
APPLY - ClientA [INS[0,"X"]] 9 "XABCD"
TRANSFORM - ClientA [INS[1,"Y"]] , [INS[4,"E"]] -> [INS[1,"Y"]] 4 "XABCD"
TRANSFORM - ClientA [INS[4,"E"]] , [INS[1,"Y"]] -> [INS[5,"E"]] 4 "XABCD"
APPLY - ClientA [INS[5,"E"]] 2 "XABCDE"
TRANSFORM - ClientA [INS[1,"Y"]] , [INS[4,"E"]] -> [INS[1,"Y"]] 2 "XABCDE"
APPLY - ClientA [INS[1,"Y"]] 3 "XYABCDE"
TRANSFORM - ClientA [INS[5,"F"]] , [INS[1,"Y"]] -> [INS[6,"F"]] 5 "XYABCDE"
TRANSFORM - ClientA [INS[6,"F"]] , [INS[5,"E"]] -> [INS[7,"F"]] 4 "XYABCDE"
TRANSFORM - ClientA [INS[1,"Y"]] , [INS[7,"F"]] -> [INS[1,"Y"]] 3 "XYABCDE"
APPLY - ClientA [INS[7,"F"]] 4 "XYABCDEF"
TRANSFORM - ClientA [INS[6,"G"]] , [INS[1,"Y"]] -> [INS[7,"G"]] 6 "XYABCDEF"
TRANSFORM - ClientA [INS[7,"G"]] , [INS[5,"E"]] -> [INS[8,"G"]] 5 "XYABCDEF"
TRANSFORM - ClientA [INS[1,"Y"]] , [INS[8,"G"]] -> [INS[1,"Y"]] 4 "XYABCDEF"
APPLY - ClientA [INS[8,"G"]] 5 "XYABCDEFG"
TRANSFORM - ClientA [INS[7,"H"]] , [INS[1,"Y"]] -> [INS[8,"H"]] 7 "XYABCDEFG"
TRANSFORM - ClientA [INS[8,"H"]] , [INS[5,"E"]] -> [INS[9,"H"]] 6 "XYABCDEFG"
TRANSFORM - ClientA [INS[1,"Y"]] , [INS[9,"H"]] -> [INS[1,"Y"]] 5 "XYABCDEFG"
APPLY - ClientA [INS[9,"H"]] 6 "XYABCDEFGH"
TRANSMIT ClientA Server [INS[3,"D"]] 3 "XYABCDEFGH"
REWIND - Server <<>> 4 "XABC"
TRANSFORM - Server [INS[3,"D"]] , [INS[0,"X"]] -> [INS[4,"D"]] 3 "XABC"
TRANSFORM - Server [INS[1,"Y"]] , [INS[4,"D"]] -> [INS[1,"Y"]] 4 "XABC"
TRANSFORM - Server [INS[4,"D"]] , [INS[1,"Y"]] -> [INS[5,"D"]] 5 "XABC"
APPLY - Server [INS[1,"Y"]] 5 "XYABC"
APPLY - Server [INS[5,"D"]] 5 "XYABCD"
TRANSMIT Server ClientB [INS[3,"D"]] 3 "XYABCD"
REWIND - ClientB <<>> 4 "XABC"
TRANSFORM - ClientB [INS[3,"D"]] , [INS[0,"X"]] -> [INS[4,"D"]] 3 "XABC"
TRANSFORM - ClientB [INS[1,"Y"]] , [INS[4,"D"]] -> [INS[1,"Y"]] 4 "XABC"
TRANSFORM - ClientB [INS[4,"D"]] , [INS[1,"Y"]] -> [INS[5,"D"]] 5 "XABC"
APPLY - ClientB [INS[1,"Y"]] 5 "XYABC"
APPLY - ClientB [INS[5,"D"]] 5 "XYABCD"
TRANSMIT ClientA Server [INS[4,"E"]] 4 "XYABCDEFGH"
REWIND - Server <<>> 5 "XABC"
TRANSFORM - Server [INS[1,"Y"]] , [INS[5,"D"]] -> [INS[1,"Y"]] 4 "XABC"
APPLY - Server [INS[1,"Y"]] 6 "XYABC"
APPLY - Server [INS[5,"D"]] 4 "XYABCD"
TRANSFORM - Server [INS[4,"E"]] , [INS[1,"Y"]] -> [INS[5,"E"]] 4 "XYABCD"
TRANSFORM - Server [INS[5,"E"]] , [INS[1,"Y"]] -> [INS[6,"E"]] 5 "XYABCD"
APPLY - Server [INS[6,"E"]] 5 "XYABCDE"
TRANSMIT Server ClientB [INS[4,"E"]] 4 "XYABCDE"
REWIND - ClientB <<>> 5 "XABC"
TRANSFORM - ClientB [INS[1,"Y"]] , [INS[5,"D"]] -> [INS[1,"Y"]] 4 "XABC"
APPLY - ClientB [INS[1,"Y"]] 6 "XYABC"
APPLY - ClientB [INS[5,"D"]] 4 "XYABCD"
TRANSFORM - ClientB [INS[4,"E"]] , [INS[1,"Y"]] -> [INS[5,"E"]] 4 "XYABCD"
TRANSFORM - ClientB [INS[5,"E"]] , [INS[1,"Y"]] -> [INS[6,"E"]] 5 "XYABCD"
APPLY - ClientB [INS[6,"E"]] 5 "XYABCDE"
TRANSMIT ClientA Server [INS[5,"F"]] 5 "XYABCDEFGH"
TRANSFORM - Server [INS[5,"F"]] , [INS[6,"E"]] -> [INS[5,"F"]] 5 "XYABCDE"
TRANSFORM - Server [INS[5,"F"]] , [INS[6,"E"]] -> [INS[5,"F"]] 6 "XYABCDE"
APPLY - Server [INS[5,"F"]] 6 "XYABCFDE"
TRANSMIT Server ClientB [INS[5,"F"]] 5 "XYABCFDE"
TRANSFORM - ClientB [INS[5,"F"]] , [INS[6,"E"]] -> [INS[5,"F"]] 5 "XYABCDE"
TRANSFORM - ClientB [INS[5,"F"]] , [INS[6,"E"]] -> [INS[5,"F"]] 6 "XYABCDE"
APPLY - ClientB [INS[5,"F"]] 6 "XYABCFDE"
TRANSMIT ClientA Server [INS[6,"G"]] 6 "XYABCDEFGH"
TRANSFORM - Server [INS[6,"G"]] , [INS[5,"F"]] -> [INS[7,"G"]] 6 "XYABCFDE"
TRANSFORM - Server [INS[7,"G"]] , [INS[5,"F"]] -> [INS[8,"G"]] 7 "XYABCFDE"
APPLY - Server [INS[8,"G"]] 7 "XYABCFDEG"
TRANSMIT Server ClientB [INS[6,"G"]] 6 "XYABCFDEG"
TRANSFORM - ClientB [INS[6,"G"]] , [INS[5,"F"]] -> [INS[7,"G"]] 6 "XYABCFDE"
TRANSFORM - ClientB [INS[7,"G"]] , [INS[5,"F"]] -> [INS[8,"G"]] 7 "XYABCFDE"
APPLY - ClientB [INS[8,"G"]] 7 "XYABCFDEG"
APPLY - ClientB [INS[2,"Z"]] 8 "XYZABCFDEG"
TRANSMIT ClientA Server [INS[7,"H"]] 7 "XYABCDEFGH"
TRANSFORM - Server [INS[7,"H"]] , [INS[8,"G"]] -> [INS[7,"H"]] 7 "XYABCFDEG"
TRANSFORM - Server [INS[7,"H"]] , [INS[8,"G"]] -> [INS[7,"H"]] 8 "XYABCFDEG"
APPLY - Server [INS[7,"H"]] 8 "XYABCFDHEG"
TRANSMIT Server ClientB [INS[7,"H"]] 7 "XYABCFDHEG"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment