doc: add some message sequence charts
- Connection establishment - Connection close - Packet transfer
This commit is contained in:
parent
95d9eda0a0
commit
1840b3099c
|
@ -1,2 +1,2 @@
|
|||
hamnet70.html: hamnet70.adoc
|
||||
asciidoctor $<
|
||||
asciidoctor -r asciidoctor-diagram $<
|
||||
|
|
|
@ -228,12 +228,121 @@ Due to the long possible bursts, this system can achieve high throughput if ther
|
|||
=== Ideas
|
||||
|
||||
To be defined:
|
||||
|
||||
- connection establishment procedure (request, response)
|
||||
- how do clients get an IP(v6) address? -> should be derived from the call sign
|
||||
- when are new clients allowed to connect? -> base station calls for any new stations in regular intervals
|
||||
- handling of packets from unknown clients that are not connection requests
|
||||
- signal quality handling
|
||||
|
||||
=== Message Sequence Charts
|
||||
|
||||
==== Connection Establishment
|
||||
|
||||
[mermaid,format=svg,svg-type=interactive]
|
||||
.Connection establishment
|
||||
....
|
||||
sequenceDiagram
|
||||
participant digi as Digipeater
|
||||
participant client as Client
|
||||
|
||||
digi -->> client: Beacon (Broadcast)
|
||||
digi -->> client: Beacon (Broadcast)
|
||||
digi -->> client: Beacon (Broadcast)
|
||||
|
||||
Note over client: Decides to connect
|
||||
|
||||
client ->> digi: 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
|
||||
....
|
||||
|
||||
==== Communication during a Connection
|
||||
|
||||
[mermaid,format=svg,svg-type=interactive]
|
||||
.In-connection communication
|
||||
....
|
||||
sequenceDiagram
|
||||
participant digi as Digipeater
|
||||
participant client as Client
|
||||
|
||||
Note over digi,client: Connection established
|
||||
|
||||
loop For up to 14 packets
|
||||
digi ->> client: Packet without Transmission Request
|
||||
end
|
||||
|
||||
digi ->> client: Packet with Transmission Request
|
||||
|
||||
Note over digi: Start timeout timer
|
||||
|
||||
alt Normal reply
|
||||
loop For up to 14 packets
|
||||
client ->> digi: Packet without Transmission Request
|
||||
end
|
||||
|
||||
client ->> digi: Packet with Transmission Request
|
||||
else Partial reply
|
||||
loop For up to 14 packets
|
||||
client ->> digi: Packet without Transmission Request
|
||||
end
|
||||
|
||||
client --x digi: Packet with Transmission Request (lost)
|
||||
|
||||
Note over digi: Timeout expired
|
||||
else No reply
|
||||
Note over digi: Timeout expired
|
||||
end
|
||||
|
||||
Note over digi: Query next client
|
||||
....
|
||||
|
||||
==== Connection Shutdown
|
||||
|
||||
===== Client-initiated
|
||||
|
||||
[mermaid,format=svg,svg-type=interactive]
|
||||
.Client-initiated shutdown
|
||||
....
|
||||
sequenceDiagram
|
||||
participant digi as Digipeater
|
||||
participant client as Client
|
||||
|
||||
Note over digi,client: Connection established
|
||||
|
||||
Note over client: Decides to disconnect
|
||||
|
||||
digi ->> client: Transmission Request
|
||||
client ->> digi: Disconnect
|
||||
|
||||
Note over digi,client: Connection closed
|
||||
....
|
||||
|
||||
===== Digipeater-initiated
|
||||
|
||||
[mermaid,format=svg,svg-type=interactive]
|
||||
.Digipeater-initiated shutdown
|
||||
....
|
||||
sequenceDiagram
|
||||
participant digi as Digipeater
|
||||
participant client as Client
|
||||
|
||||
Note over digi,client: Connection established
|
||||
|
||||
Note over digi: Decides to disconnect client
|
||||
|
||||
digi ->> client: Disconnect Request
|
||||
client ->> digi: Disconnect
|
||||
|
||||
Note over digi,client: Connection closed
|
||||
....
|
||||
|
||||
== Higher Layer Protocols
|
||||
|
||||
[appendix]
|
||||
|
|
Loading…
Reference in a new issue