diff --git a/book/src/derived-query-read.drawio.svg b/book/src/derived-query-read.drawio.svg index edb4ed3..c00774b 100644 --- a/book/src/derived-query-read.drawio.svg +++ b/book/src/derived-query-read.drawio.svg @@ -1,4 +1,4 @@ -
Memo with value exists:
last verified in Rv with durability D
Memo with value exists:...
No previous memo,
or memo has no value
No previous memo,...
Load memo_map[K]
Load memo_map[K]
No
No
Yes
Yes
Rv is current revision?
Rv is current revisi...
Yes
Yes
No
No
Inputs with durability D changed since Rv?
Inputs with durabili...
Return value
Return value
Already
claimed
Already...
Claimed
Claimed
Claim sync_map[K]
Claim sync_map[K]
Thread completed
normally
Thread completed...
Cycle detected
or thread panicked
Cycle detected...
Block until other thread completes
Block until other th...
Load memo_map[K]
Load memo_map[K]
Previous memo exists,
last verified in Rv
with durability D
Previous memo exists,...
Update verified_at to current revision
Update verified_at t...
No
No
Yes
Yes
Rv is current revision?
Rv is current revisi...
No
No
Inputs with durability D changed since Rv?
Inputs with durabili...
Return value
Return value
Update verified_at to current revision
Update verified_at t...
All inputs verified
All inputs verified
For each input I...
For each input I...
Push K onto stack
Push K onto stack
No
No
Input I maybe changed since Rv?
Input I maybe change...
Salsa Event:
Will Execute
Salsa Event:...
Cycle detected
Cycle detected
Execute query function
Execute query functi...
Backdate value if equal to old value.
Backdate value if eq...
Store memo with
new value.
Store memo with...
Execute cycle recovery
Execute cycle recove...
Fallback
Fallback
Panic
Panic
Check recovery strategy
Check recovery strat...
Flag is Some
Flag is Some
Flag is None
Flag is None
Check cycle flag on stack frame
Check cycle flag on...
Unwind with cycle
Unwind with cycle
Release claim.
Release claim.
Pop stack frame.
Pop stack frame.
(Destructor)
(Destructo...
(Destructor)
(Destructo...
Viewer does not support full SVG 1.1
\ No newline at end of file +
Memo with value exists:
last verified in Rv with durability D
Memo with value exists:...
No previous memo,
or memo has no value
No previous memo,...
Load memo_map[K]
Load memo_map[K]
No
No
Yes
Yes
Rv is current revision?
Rv is current revisi...
Yes
Yes
No
No
Inputs with durability D changed since Rv?
Inputs with durabili...
Return value
Return value
Already
claimed
Already...
Claimed
Claimed
Claim sync_map[K]
Claim sync_map[K]
Thread completed
normally
Thread completed...
Cycle detected
or thread panicked
Cycle detected...
Block until other thread completes
Block until other th...
Load memo_map[K]
Load memo_map[K]
Previous memo exists,
last verified in Rv
with durability D
Previous memo exists,...
Update verified_at to current revision
Update verified_at t...
No
No
Yes
Yes
Rv is current revision?
Rv is current revisi...
No
No
Inputs with durability D changed since Rv?
Inputs with durabili...
Return value
Return value
Update verified_at to current revision
Update verified_at t...
All inputs verified
All inputs verified
For each input I...
For each input I...
Push K onto stack
Push K onto stack
No
No
Input I maybe changed after Rv?
Input I maybe change...
Salsa Event:
Will Execute
Salsa Event:...
Cycle detected
Cycle detected
Execute query function
Execute query functi...
Backdate value if equal to old value.
Backdate value if eq...
Store memo with
new value.
Store memo with...
Execute cycle recovery
Execute cycle recove...
Fallback
Fallback
Panic
Panic
Check recovery strategy
Check recovery strat...
Flag is Some
Flag is Some
Flag is None
Flag is None
Check cycle flag on stack frame
Check cycle flag on...
Unwind with cycle
Unwind with cycle
Release claim.
Release claim.
Pop stack frame.
Pop stack frame.
(Destructor)
(Destructo...
(Destructor)
(Destructo...
Viewer does not support full SVG 1.1
\ No newline at end of file