Skip to content

Instantly share code, notes, and snippets.

@stevegt
Last active August 9, 2021 00:14
Show Gist options
  • Save stevegt/8f97f80a1e79ddf54c939d09704ca157 to your computer and use it in GitHub Desktop.
Save stevegt/8f97f80a1e79ddf54c939d09704ca157 to your computer and use it in GitHub Desktop.
simple engine flowchart
digraph g {
rankdir=LR;
io [label="I/O"];
subgraph cluster_20 {
label=journal;
open [label="open\nexisting\njournal"];
notify [label="start\nprocess"];
create [label="create\nnew\njournal"];
update [label="update\njournal and\ncheckpoint"];
done;
}
label=app;
gen [label="generate\nstatement"];
exec [label="test and execute\nusing tests from\nold journal"];
publish [label="publish\nnew\njournal"];
io -> open [label="journal.Open(journal.From)"];
open -> io [label="oldJournal, err"];
io -> notify [label="oldJournal.Process(journal.Input)"];
notify -> gen [label="App.Generate(journal.Input, oldJournal, oldCheckpoint)"];
gen -> create [label="statement, err"];
create -> exec [label="App.Exec(oldJournal, newJournal)"];
exec -> update [label="newCheckpoint, err"];
update -> publish [label="App.Publish(newJournal, newCheckpoint)"];
publish -> done [label="err"];
done -> io [label="journal.Output, err"];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment