From d4c4c467f4179a99696a4b80e5fdbeae5f9c2cfd Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Fri, 25 Dec 2020 21:59:36 +0000 Subject: [PATCH] diagram: agent replies invalid commands without roundtrip --- design/agent2.gv | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/design/agent2.gv b/design/agent2.gv index 85624f496..91e92a3a8 100644 --- a/design/agent2.gv +++ b/design/agent2.gv @@ -45,13 +45,14 @@ digraph SMPAgent { label="1 group per user TCP connection" subgraph clusterUserInterface { + graph [fontsize=11] label="user queues" uInq [shape=rarrow label="user\nreceive\nTBQueue"] uOutq [shape=larrow label="user\nsend\nTBQueue"] } subgraph clusterUserThreads { - graph [fontsize=11 color=gray] + graph [fontsize=11] label="user threads\nNote: `user agent` sends\nall commands to `commands TBQueue`s\n(invalid commands with attached responses),\nand only valid commands to `server TBQueue`.\nIt is used to respond in correct order." node [shape=hexagon, color=orange] uAgent [label="user\nagent"] @@ -59,27 +60,24 @@ digraph SMPAgent { } uRcv -> uInq -> uAgent [color=darkgreen] - uProcess -> uOutq -> uSnd [color=darkgreen] + {uAgent uProcess} -> uOutq -> uSnd [color=darkgreen] - userState [label="connected\nservers,\nsubscribed\nqueues\n(STM)" shape="folder"] - - uRespq [shape=larrow label="user\nSMP\nTBQueue"] + uRespq [shape=rarrow label="user\nSMP\nTBQueue"] subgraph clusterClient { - graph [color=gray] label="1 group per SMP client/server connection" runClient [shape=hexagon, color=orange] sOutq [shape=rarrow label="srv send\nTBQueue"] sSock [label="SMP client connection TCP socket" color=blue] subgraph clusterQueue { - graph [fontsize=11 color=gray] + graph [fontsize=11] label="1 per SMP queue\n(+ 1 TBQueue\nw/out SMP qID)" sCmdq [shape=rarrow label="commands\nTBQueue"] } subgraph clusterServerThreads { - graph [fontsize=11 color=gray] + graph [fontsize=11] label="SMP client threads" node [shape=hexagon, color=orange] sAgent [label="server\nreceive"] @@ -90,6 +88,8 @@ digraph SMPAgent { {uAgent uProcess} -> sOutq -> sSnd -> sSock -> sAgent [color=blue] } + userState [label="connected\nservers,\nsubscribed\nqueues\n(STM)" shape="folder"] + {uAgent uProcess} -> userState [dir=both color="#FF8888"] {uAgent uProcess} -> connectionsStore [dir=both color="#880000"] @@ -99,7 +99,7 @@ digraph SMPAgent { sSnd -> sCmdq sCmdq -> sAgent [style=dashed] - {sAgent uAgent} -> uRespq -> uProcess + sAgent -> uRespq -> uProcess uAgent -> runClient [style=dashed label="fork" color=orange fontcolor=orange] }