diff --git a/doc/hamnet70.adoc b/doc/hamnet70.adoc index 64fb67d..23631c4 100644 --- a/doc/hamnet70.adoc +++ b/doc/hamnet70.adoc @@ -267,108 +267,109 @@ To be defined: ==== Connection Establishment -[mermaid,format=svg,svg-type=interactive] +[msc,format=svg,svg-type=interactive, scale=1.4] .Connection establishment .... -sequenceDiagram - participant digi as Digipeater - participant client as Client +msc { + digi [label="Digipeater"], + client [label="Client"]; - digi -->> client: Beacon (Broadcast) - digi -->> client: Beacon (Broadcast) - digi -->> client: Beacon (Broadcast) + digi -> client [label="Beacon (Broadcast)"]; + digi -> client [label="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 - digi ->> client: Connection Parameters - client ->> digi: Connection Acknowledgement - Note over digi,client: Connection established - else Connection rejected - digi ->> client: Connection Refusal - end + --- [label="Alternative 1: Connection is accepted"]; + digi -> client [label="Connection Parameters"]; + digi <- client [label="Connection Acknowledgement"]; + digi box client [label="Connection established"]; + + --- [label="Alternative 2: Connection is rejected"]; + digi -> client [label="Connection Refusal"]; +} .... ==== Communication during a Connection -[mermaid,format=svg,svg-type=interactive] +[msc,format=svg,svg-type=interactive, scale=1.4] .In-connection communication .... -sequenceDiagram - participant digi as Digipeater - participant client as Client +msc { + digi [label="Digipeater"], + 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 ->> client: Packet without Transmission Request - end + digi box digi [label="Start timeout timer"]; - 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 - loop For up to 14 packets - client ->> digi: Packet without Transmission Request - end + --- [label="Alternative 2: Partial reply"]; - client ->> digi: Packet with Transmission Request - else Partial reply - loop For up to 14 packets - client ->> digi: Packet without Transmission Request - end + digi <= client [label="Up to 14 packets without Transmission Request"]; + digi x- client [label="Packet with Transmission Request"]; + ...; + digi rbox digi [label="Timeout expired"]; - client --x digi: Packet with Transmission Request (lost) + --- [label="Alternative 3: No reply"]; - Note over digi: Timeout expired - else No reply - Note over digi: Timeout expired - end + digi x- client [label="Packets from client"]; + ...; + digi rbox digi [label="Timeout expired"]; - Note over digi: Query next client + --- [label="Finally"]; + + digi box digi [label="Query next client"]; +} .... ==== Connection Shutdown ===== Client-initiated -[mermaid,format=svg,svg-type=interactive] +[msc,format=svg,svg-type=interactive, scale=1.4] .Client-initiated shutdown .... -sequenceDiagram - participant digi as Digipeater - participant client as Client +msc { + digi [label="Digipeater"], + 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 - - digi ->> client: Transmission Request - client ->> digi: Disconnect - - Note over digi,client: Connection closed + --- [label="Connection closed"]; +} .... ===== Digipeater-initiated -[mermaid,format=svg,svg-type=interactive] +[msc,format=svg,svg-type=interactive, scale=1.4] .Digipeater-initiated shutdown .... -sequenceDiagram - participant digi as Digipeater - participant client as Client +msc { + digi [label="Digipeater"], + 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 - client ->> digi: Disconnect - - Note over digi,client: Connection closed + --- [label="Connection closed"]; +} .... == Higher Layer Protocols