aboutsummaryrefslogtreecommitdiff
path: root/doc/puml/execbin-seq.puml
diff options
context:
space:
mode:
authorDavid Timber <mieabby@gmail.com>2021-09-11 11:20:15 +0800
committerDavid Timber <mieabby@gmail.com>2021-09-11 11:20:15 +0800
commit870eafdd7874faf096f7afbc5e016a166144f356 (patch)
tree50143876db852b0dfdb4e570ceeb08560955ee90 /doc/puml/execbin-seq.puml
parenteb56a23613638ca705f5be707cacc1b0989a2a76 (diff)
The Heartbeat Protocol documentation progress
Diffstat (limited to 'doc/puml/execbin-seq.puml')
-rw-r--r--doc/puml/execbin-seq.puml51
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/puml/execbin-seq.puml b/doc/puml/execbin-seq.puml
new file mode 100644
index 0000000..dd80607
--- /dev/null
+++ b/doc/puml/execbin-seq.puml
@@ -0,0 +1,51 @@
+@startuml execbin-seq
+"A" -> "S": +RUN_BIN
+"A" -> "S": Binary Meta Frame
+"S" -> "S": open() tmpfile
+"A" -> "S": +STDIO
+"A" -> "S": STDIO Frame
+"A" -> "S": Binary Data
+"S" -> "S": write()
+"A" -> "S": +STDIO
+"A" -> "S": STDIO Frame
+"A" -> "S": Binary Data
+"S" -> "S": write()
+Note across: Repeat ...
+"A" -> "S": +STDIO
+"A" -> "S": STDIO Frame, fin
+"S" -> "S": close()
+
+Create P
+"S" -> "P": fork(), exec()
+
+"A" -> "S": +STDIO
+"A" -> "S": STDIO Frame
+"A" -> "S": STDIO Data
+
+"S" -> "P": STDIO Data
+"P" -> "S": STDIO Data
+
+"S" --> "A": STDIO
+"S" --> "A": STDIO Frame
+"S" --> "A": STDIO Data
+
+Note across: Repeat ...
+
+"A" -> "S": +STDIO
+"A" -> "S": STDIO Frame len=0, fin
+"S" -> "P": STDIN EOF
+
+"P" -> "S": STDOUT EOF
+"S" --> "A": STDIO
+"S" --> "A": STDIO Frame len=0, fin
+
+"P" -> "S": STDERR EOF
+"S" --> "A": STDIO
+"S" --> "A": STDIO Frame len=0, err, fin
+
+"P" -> "P": exit()
+"S" <-> "P" !!: waitpid()
+Note over "P": Process reaped
+"S" --> "A": Status
+"S" --> "A": Status Frame
+@enduml