From 870eafdd7874faf096f7afbc5e016a166144f356 Mon Sep 17 00:00:00 2001 From: David Timber Date: Sat, 11 Sep 2021 11:20:15 +0800 Subject: The Heartbeat Protocol documentation progress --- doc/puml/exec-seq.puml | 37 +++++++++++++++++++++++++++++++++ doc/puml/execbin-seq.puml | 51 ++++++++++++++++++++++++++++++++++++++++++++++ doc/puml/handover-seq.puml | 7 +++++++ doc/puml/hostinfo-seq.puml | 5 +++++ doc/puml/noop-seq.puml | 4 ++++ doc/puml/rcb-seq .puml | 16 +++++++++++++++ doc/puml/solicit-seq.puml | 3 +++ doc/puml/upbin-seq.puml | 23 +++++++++++++++++++++ 8 files changed, 146 insertions(+) create mode 100644 doc/puml/exec-seq.puml create mode 100644 doc/puml/execbin-seq.puml create mode 100644 doc/puml/handover-seq.puml create mode 100644 doc/puml/hostinfo-seq.puml create mode 100644 doc/puml/noop-seq.puml create mode 100644 doc/puml/rcb-seq .puml create mode 100644 doc/puml/solicit-seq.puml create mode 100644 doc/puml/upbin-seq.puml (limited to 'doc/puml') diff --git a/doc/puml/exec-seq.puml b/doc/puml/exec-seq.puml new file mode 100644 index 0000000..cffc5b0 --- /dev/null +++ b/doc/puml/exec-seq.puml @@ -0,0 +1,37 @@ +@startuml exec-seq +"A" -> "S": +RUN_CMD +"A" -> "S": Command Frame +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 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 diff --git a/doc/puml/handover-seq.puml b/doc/puml/handover-seq.puml new file mode 100644 index 0000000..52ec5c5 --- /dev/null +++ b/doc/puml/handover-seq.puml @@ -0,0 +1,7 @@ +@startuml handover-seq +"A" -> "S": +HOVER +"A" -> "S": Handover Frame +"S" -> "S": queue request +"S" --> "A": STATUS +"S" --> "A": Status Frame +@enduml diff --git a/doc/puml/hostinfo-seq.puml b/doc/puml/hostinfo-seq.puml new file mode 100644 index 0000000..06c69e1 --- /dev/null +++ b/doc/puml/hostinfo-seq.puml @@ -0,0 +1,5 @@ +@startuml hostinfo-seq +"A" -> "S": +HOST_INFO +"S" --> "A": HOST_INFO +"S" --> "A": Hostinfo Frame +@enduml diff --git a/doc/puml/noop-seq.puml b/doc/puml/noop-seq.puml new file mode 100644 index 0000000..b14d299 --- /dev/null +++ b/doc/puml/noop-seq.puml @@ -0,0 +1,4 @@ +@startuml noop-seq +"A" -> "B": +0x00 NOOP +"B" --> "A": 0x00 NOOP +@enduml diff --git a/doc/puml/rcb-seq .puml b/doc/puml/rcb-seq .puml new file mode 100644 index 0000000..0258e8a --- /dev/null +++ b/doc/puml/rcb-seq .puml @@ -0,0 +1,16 @@ +@startuml rcb-seq +"A" -> "S": +RCB +"A" -> "S": RCB Frame + +"S" --> "A": STDIO +"S" --> "A": STDIO Frame +"S" --> "A": STDIO Data +"S" --> "A": STDIO +"S" --> "A": STDIO Frame +"S" --> "A": STDIO Data + +Note across: Repeat ... + +"S" --> "A": STDIO +"S" --> "A": STDIO Frame, fin +@enduml diff --git a/doc/puml/solicit-seq.puml b/doc/puml/solicit-seq.puml new file mode 100644 index 0000000..6e01f14 --- /dev/null +++ b/doc/puml/solicit-seq.puml @@ -0,0 +1,3 @@ +@startuml solicit-seq +"S" -> "A": +SOLICIT +@enduml diff --git a/doc/puml/upbin-seq.puml b/doc/puml/upbin-seq.puml new file mode 100644 index 0000000..2983dee --- /dev/null +++ b/doc/puml/upbin-seq.puml @@ -0,0 +1,23 @@ +@startuml upbin-seq +"A" -> "S": +UP_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(), rename() + +"S" --> "A": Status +"S" --> "A": Status Frame +"S" --> "A" !!: Terminate connection + +"S" -> "S": clean up, exec() +@enduml -- cgit