mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 07:04:52 +09:00
Implement proper session tracking and resume on reconnect for the WebSocket server.
22 lines
961 B
Plaintext
22 lines
961 B
Plaintext
digraph "Server Connection Flow" {
|
|
node [shape=box];
|
|
graph [newrank=true];
|
|
|
|
new_connection [label="New connection"];
|
|
wait_handshake [label="Wait for handshake"];
|
|
validate_register [label="Validate register"];
|
|
validate_resume [label="Validate resume"];
|
|
connected [label="Connected"];
|
|
close [label="Close connection"];
|
|
|
|
new_connection -> wait_handshake [label="Send hello"];
|
|
wait_handshake -> validate_register [label="Receive register_*"];
|
|
wait_handshake -> validate_resume [label="Receive resume"];
|
|
wait_handshake -> close [label="Bad handshake\nTimeout"];
|
|
validate_register -> close [label="Bad token\nBad register"];
|
|
validate_register -> connected [label="Valid register:\nSend ready"];
|
|
validate_resume -> close [label="Bad token\nBad resume"];
|
|
validate_resume -> wait_handshake [label="Bad session:\nsend invalidate"];
|
|
validate_resume -> connected [label="Valid resume:\nSend continue"];
|
|
}
|