fix: update doc arch

This commit is contained in:
rmanach
2026-09-29 10:07:29 +02:00
parent 589df6190c
commit af2dc3af53
12 changed files with 88 additions and 19 deletions
+15 -2
View File
@@ -4,7 +4,12 @@ title Tasks and data flow
rectangle "relay loop (main task)" as loop {
card "public socket\nrecv_from" as recv
card "sessions:\nHashMap<client, Sender>" as map
card "filter\n(commands, query rate)" as filter
}
rectangle "shared state (Mutex)" as shared {
card "sessions:\nHashMap<client, Session>" as map
card "bans\n(bans.json)" as bans
}
rectangle "session task (one per client)" as st {
@@ -17,10 +22,18 @@ rectangle "heartbeat task" as hb {
card "probe socket" as probe
}
recv --> map : lookup client
rectangle "control API task (axum)" as ctl {
card "GET /sessions\nGET/PUT/DELETE /bans" as routes
}
recv --> filter
filter --> bans : banned?
filter --> map : lookup client
map --> rx : try_send(packet)\n(full: drop)
rx --> up : send
up --> recv : recv, then public.send_to(client)
tick --> probe : getinfo
tick --> recv : heartbeat via public socket
routes --> map : list ports,\ndrop a banned IP's sessions
routes --> bans : set / lift
@enduml