diff --git a/book/Untitled Diagram.drawio b/book/Untitled Diagram.drawio deleted file mode 100644 index be3dd073..00000000 --- a/book/Untitled Diagram.drawio +++ /dev/null @@ -1 +0,0 @@ -7VhZc9MwEP41Hp5gfBQnecRp0wKhU2ihw6NiK7aI7DWynINfzyqWYzsOOYD0yDQv0a43K2m/b4/YcPrx/FKQNPoEAeWGbQZzwzk3bNuybQe/lGZRaLq9bqEIBQu0UaW4Zb+oVppam7OAZg1DCcAlS5tKH5KE+rKhI0LArGk2Bt7cNSUhbSlufcLb2nsWyEjfwu5U+ivKwqjc2XJ7xZOYlMb6JllEApjVVM6F4fQFgCxW8bxPuQpeGZf794t7Ppy4lx8+Zz/JV+/j3fW314WzwSE/WV1B0ET+X9d24XpKeK7jpe8qF2UABeRJQJUT03C8SMYclxYuf1ApFxpwkktAFQgZQQgJ4UOAVNuNIZHazFIyTYJ3CliURxz8SaEaMM71Hihp+y5KmRQwWWGnHKyAUMacjCj3iD8JlwftAweBjxJIqHIVIBn0XarDXVRab8/YagwyyIVPt9jpbJFEhHSbP7ewU+er8VQjd0khplIs0EBQTiSbNslMdE6EK7sKd1xo6A+ggdOiwZDEqcp6oFnySuJqBmKyhRsKl1nEJL1NyTJAMywnTb7UeYBX9UJOskyjuAPkw0CaUiHpfGtYy6euzu2yuGlxVlUKq0z/qFYlzswjAXHWAuI7Fs+XlPyXlHT3TMmyY+3MSU2Wkhh7p6j2dAMskTUTGI8zPNg6dVYb/j2b3rbYdA0tMu3G41nT7ZHI1DmMS9aT55L7hxbhcgyDNxK4CtUq5XkYIlnQXWI4g3btiiAe5dnudtHAWDFoQGLGVbyuKJ9SyXyyoakQzkLc99xHuKnYTB7ckiUhSm4l3S3JivX3iM2m02w2K7nebcwN3aZ7rG7TaWF6g+gV0NkmX+J7Yh3fsddA6D12y+/uU6SfdQl+8I5fVtPdLd/as0xr9phvHPw0CPT0p4DeXjPlyxhwHIbZpzYIlCes8cnL+ag9CYxykSwHAcjlyySwbRKwNzWhB50EykJYA/ULTQlDMM3hKc4B6//8z5zHngPKStGEgKuY2maRYSeGwfos5ljHwwDF6k1tUQqr993OxW8= \ No newline at end of file diff --git a/book/derived-query-read.drawio.svg b/book/derived-query-read.drawio.svg new file mode 100644 index 00000000..2ac36b73 --- /dev/null +++ b/book/derived-query-read.drawio.svg @@ -0,0 +1,4 @@ + + + +Acquire read lockon query QAcquire read lock...Acquire read-upgrade lock on query QAcquire read-upgrade...With read lockIn progressby thread TIn progress...Read valueof QRead value...Up to dateUp to dateBlock on TBlock on TReturn valueReturn valueThread TcompletedThread T...Execute Cycle RecoveryExecute Cycle...Recoverable cycledetectedRecoverable...OthervalueOther...PanicPanicIrrecoverablecycle detectedIrrecoverable...With read-upgrade lockIn progressby thread TIn progress...Read valueof QRead value...Up to dateUp to dateBlock on TBlock on TReturn valueReturn valueThread TcompletedThread T...Execute Cycle RecoveryExecute Cycle...Recoverable cycledetectedRecoverable...Upgrade towrite lock on QUpgrade to...OthervalueOther...With write lockTake memo M and set Q to InProgressTake memo M and set...Query is marked as in-progressPop query fromquery stackPop query from...Set Q to Not ComputedSet Q to Not ComputedPush panic guardPush panic guardPush queryon query stackPush query...Query has memoized value?Query has...Salsa Event:WillExecuteSalsa Event:...NoNoExecute Query FunctionExecute Query Functi...Execute Cycle RecoveryExecute Cycle Recove...Pop query from query stackPop query from...Unwound with `CycleParticipant`Unwound with...Create memo M1with recorded inputs Create memo M1...ReturnednormallyReturned...Backdate M1 to "changed at" from Mif value is the sameBackdate M1 to "chan...Store `M` and return valueStore `M` and...For each input `Qin`...For each input `Qin`...Yes!Yes!NoNo...has `Qin` changedsince `M` was last verified?...has `Qin` changed...YesYesMark `M` as verifiedin current revisionMark `M` as verified...Salsa Event:DidValidateMemoizedValueSalsa Event:...Store `M` and return valueStore `M` and return valueNo moreinputsNo more...YesYesAny inputs with durability D changed since M was verified?Any inputs with durability...NoNoViewer does not support full SVG 1.1 \ No newline at end of file