doc: translate message sequence diagrams to mscgen
Mermaid is more beautiful, but the tool stack is really annoying. A Chrome browser should not be necessary to generate some SVGs.
This commit is contained in:
parent
79c340c20d
commit
10f634d144
|
@ -267,108 +267,109 @@ To be defined:
|
||||||
|
|
||||||
==== Connection Establishment
|
==== Connection Establishment
|
||||||
|
|
||||||
[mermaid,format=svg,svg-type=interactive]
|
[msc,format=svg,svg-type=interactive, scale=1.4]
|
||||||
.Connection establishment
|
.Connection establishment
|
||||||
....
|
....
|
||||||
sequenceDiagram
|
msc {
|
||||||
participant digi as Digipeater
|
digi [label="Digipeater"],
|
||||||
participant client as Client
|
client [label="Client"];
|
||||||
|
|
||||||
digi -->> client: Beacon (Broadcast)
|
digi -> client [label="Beacon (Broadcast)"];
|
||||||
digi -->> client: Beacon (Broadcast)
|
digi -> client [label="Beacon (Broadcast)"];
|
||||||
digi -->> client: Beacon (Broadcast)
|
|
||||||
|
|
||||||
Note over client: Decides to connect
|
client box client [label="Decides to connect"];
|
||||||
|
...;
|
||||||
|
|
||||||
client ->> digi: Connection Request
|
digi -> client [label="Beacon (Broadcast)"];
|
||||||
|
digi <- client [label="Connection Request"];
|
||||||
|
|
||||||
alt Connection accepted
|
--- [label="Alternative 1: Connection is accepted"];
|
||||||
digi ->> client: Connection Parameters
|
digi -> client [label="Connection Parameters"];
|
||||||
client ->> digi: Connection Acknowledgement
|
digi <- client [label="Connection Acknowledgement"];
|
||||||
Note over digi,client: Connection established
|
digi box client [label="Connection established"];
|
||||||
else Connection rejected
|
|
||||||
digi ->> client: Connection Refusal
|
--- [label="Alternative 2: Connection is rejected"];
|
||||||
end
|
digi -> client [label="Connection Refusal"];
|
||||||
|
}
|
||||||
....
|
....
|
||||||
|
|
||||||
==== Communication during a Connection
|
==== Communication during a Connection
|
||||||
|
|
||||||
[mermaid,format=svg,svg-type=interactive]
|
[msc,format=svg,svg-type=interactive, scale=1.4]
|
||||||
.In-connection communication
|
.In-connection communication
|
||||||
....
|
....
|
||||||
sequenceDiagram
|
msc {
|
||||||
participant digi as Digipeater
|
digi [label="Digipeater"],
|
||||||
participant client as Client
|
client [label="Client"];
|
||||||
|
|
||||||
Note over digi,client: Connection established
|
--- [label="Connection established"];
|
||||||
|
digi => client [label="Up to 14 packets without Transmission Request"];
|
||||||
|
digi -> client [label="Packet with Transmission Request"];
|
||||||
|
|
||||||
loop For up to 14 packets
|
digi box digi [label="Start timeout timer"];
|
||||||
digi ->> client: Packet without Transmission Request
|
|
||||||
end
|
|
||||||
|
|
||||||
digi ->> client: Packet with Transmission Request
|
--- [label="Alternative 1: Normal reply"];
|
||||||
|
|
||||||
Note over digi: Start timeout timer
|
digi <= client [label="Up to 14 packets without Transmission Request"];
|
||||||
|
digi <- client [label="Packet with Transmission Request"];
|
||||||
|
|
||||||
alt Normal reply
|
--- [label="Alternative 2: Partial reply"];
|
||||||
loop For up to 14 packets
|
|
||||||
client ->> digi: Packet without Transmission Request
|
|
||||||
end
|
|
||||||
|
|
||||||
client ->> digi: Packet with Transmission Request
|
digi <= client [label="Up to 14 packets without Transmission Request"];
|
||||||
else Partial reply
|
digi x- client [label="Packet with Transmission Request"];
|
||||||
loop For up to 14 packets
|
...;
|
||||||
client ->> digi: Packet without Transmission Request
|
digi rbox digi [label="Timeout expired"];
|
||||||
end
|
|
||||||
|
|
||||||
client --x digi: Packet with Transmission Request (lost)
|
--- [label="Alternative 3: No reply"];
|
||||||
|
|
||||||
Note over digi: Timeout expired
|
digi x- client [label="Packets from client"];
|
||||||
else No reply
|
...;
|
||||||
Note over digi: Timeout expired
|
digi rbox digi [label="Timeout expired"];
|
||||||
end
|
|
||||||
|
|
||||||
Note over digi: Query next client
|
--- [label="Finally"];
|
||||||
|
|
||||||
|
digi box digi [label="Query next client"];
|
||||||
|
}
|
||||||
....
|
....
|
||||||
|
|
||||||
==== Connection Shutdown
|
==== Connection Shutdown
|
||||||
|
|
||||||
===== Client-initiated
|
===== Client-initiated
|
||||||
|
|
||||||
[mermaid,format=svg,svg-type=interactive]
|
[msc,format=svg,svg-type=interactive, scale=1.4]
|
||||||
.Client-initiated shutdown
|
.Client-initiated shutdown
|
||||||
....
|
....
|
||||||
sequenceDiagram
|
msc {
|
||||||
participant digi as Digipeater
|
digi [label="Digipeater"],
|
||||||
participant client as Client
|
client [label="Client"];
|
||||||
|
|
||||||
Note over digi,client: Connection established
|
--- [label="Connection established"];
|
||||||
|
client box client [label="Decides to disconnect"];
|
||||||
|
...;
|
||||||
|
digi -> client [label="Transmission request"];
|
||||||
|
digi <- client [label="Disconnect"];
|
||||||
|
|
||||||
Note over client: Decides to disconnect
|
--- [label="Connection closed"];
|
||||||
|
}
|
||||||
digi ->> client: Transmission Request
|
|
||||||
client ->> digi: Disconnect
|
|
||||||
|
|
||||||
Note over digi,client: Connection closed
|
|
||||||
....
|
....
|
||||||
|
|
||||||
===== Digipeater-initiated
|
===== Digipeater-initiated
|
||||||
|
|
||||||
[mermaid,format=svg,svg-type=interactive]
|
[msc,format=svg,svg-type=interactive, scale=1.4]
|
||||||
.Digipeater-initiated shutdown
|
.Digipeater-initiated shutdown
|
||||||
....
|
....
|
||||||
sequenceDiagram
|
msc {
|
||||||
participant digi as Digipeater
|
digi [label="Digipeater"],
|
||||||
participant client as Client
|
client [label="Client"];
|
||||||
|
|
||||||
Note over digi,client: Connection established
|
--- [label="Connection established"];
|
||||||
|
digi box digi [label="Decides to disconnect Client"];
|
||||||
|
|
||||||
Note over digi: Decides to disconnect client
|
digi -> client [label="Disconnect request"];
|
||||||
|
digi <- client [label="Disconnect"];
|
||||||
|
|
||||||
digi ->> client: Disconnect Request
|
--- [label="Connection closed"];
|
||||||
client ->> digi: Disconnect
|
}
|
||||||
|
|
||||||
Note over digi,client: Connection closed
|
|
||||||
....
|
....
|
||||||
|
|
||||||
== Higher Layer Protocols
|
== Higher Layer Protocols
|
||||||
|
|
Loading…
Reference in a new issue