From c682c782456a85b78130cc9748ec2d9bdf9529ca Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Sun, 18 Oct 2020 21:36:23 +0100 Subject: [PATCH] docs: update diagram --- design/server.gv | 8 +- design/server.svg | 234 +++++++++++++++++++++++----------------------- 2 files changed, 119 insertions(+), 123 deletions(-) diff --git a/design/server.gv b/design/server.gv index a0adc2e32..42816d43c 100644 --- a/design/server.gv +++ b/design/server.gv @@ -5,8 +5,8 @@ digraph SMPServer { subgraph clusterPersistence { label="persistence (STM)" - msgQueues [shape=cylinder label="Message\nqueues\npersistence"] - queueStore [shape=cylinder label="SMP connections\n(aka SMP queues)\npersistence"] + msgQueues [shape=cylinder label="Message\nqueues"] + queueStore [shape=cylinder label="SMP connections\n(aka SMP queues)"] } subgraph clusterServer { @@ -41,7 +41,7 @@ digraph SMPServer { runClient -> {client receive send} [style=dashed label=race color=orange fontcolor=orange] server -> inq [label="END"] - subscriber [shape=hexagon color=orange label="subscriber\nthread\n(only sends\n1 msg atm)"] + subscriber [shape=hexagon color=orange label="subscriber\nthread"] inq [shape=rarrow label="receive\nTBQueue"] outq [shape=larrow label="send\nTBQueue"] @@ -49,7 +49,7 @@ digraph SMPServer { msgQueues -> subscriber [label="Message" color=green fontcolor=green] subscriber -> outq [label="MSG" color=blue fontcolor=blue constraint=false] client -> queueStore [dir=both] - client -> subscriber [style=dashed label="1 fork\nper\nqueue" color=orange] + client -> subscriber [style=dashed label="1 fork per\nSMP queue/\nconnection" color=orange] client -> msgQueues [dir="both" label="SEND,\nSUB,\nACK" color=green] client -> outq -> send -> cs [color=blue] client -> subscribedQ [label="(rId,\nClient)"] diff --git a/design/server.svg b/design/server.svg index 2e02ee72d..72b472be7 100644 --- a/design/server.svg +++ b/design/server.svg @@ -4,280 +4,276 @@ - - + + SMPServer - + clusterPersistence - -persistence (STM) + +persistence (STM) clusterServer - -server threads + +server threads clusterThreads - + clusterConnection - -1 group per client connection + +1 group per client connection clusterThreads - + msgQueues - - -Message -queues -persistence + + +Message +queues subscriber - -subscriber -thread -(only sends -1 msg atm) + +subscriber +thread msgQueues->subscriber - - -Message + + +Message queueStore - - -SMP connections -(aka SMP queues) -persistence + + +SMP connections +(aka SMP queues) main - -main -thread + +main +thread runClient - -runClient -thread + +runClient +thread main->runClient - - -race + + +race server - -server -thread + +server +thread main->server - - -race + + +race ss - -server TCP socket + +server TCP socket ss->runClient - - + + cs - -client connection TCP socket + +client connection TCP socket runClient->cs - - -connect + + +connect receive - -receive -thread + +receive +thread runClient->receive - - -race + + +race client - -client -thread + +client +thread runClient->client - - -race + + +race send - -send -thread + +send +thread runClient->send - - -race + + +race inq - -receive -TBQueue + +receive +TBQueue server->inq - - -END + + +END subscribedQ - -subscribed -TBQueue + +subscribed +TBQueue subscribedQ->server - - + + cs->receive - - + + receive->inq - - + + client->msgQueues - - - -SEND, -SUB, -ACK + + + +SEND, +SUB, +ACK client->queueStore - - - + + + client->subscribedQ - - -(rId, -Client) + + +(rId, +Client) client->subscriber - - -1 fork -per -queue + + +1 fork per +SMP queue/ +connection outq - -send -TBQueue + +send +TBQueue client->outq - - + + send->cs - - + + inq->client - - + + subscriber->outq - - -MSG + + +MSG outq->send - - + +