doc/architecture: ring buffers are now per-channel

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@266 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This commit is contained in:
contact 2020-04-17 16:29:49 +00:00
parent e2c5d9458d
commit 00d681b61f

View File

@ -12,11 +12,11 @@ and try to open an upstream connection for each network.
## Ring buffer
In order to correctly send history to each downstream client, soju maintains
for each network a single-producer multiple-consumer ring buffer. The network's
upstream connection produces messages and multiple downstream connections
consume these messages. Each downstream client may have a different cursor in
the history: for instance a client may be 10 messages late while another has
consumed all pending messages.
for each upstream channel a single-producer multiple-consumer ring buffer. The
network's upstream connection produces messages and multiple downstream
connections consume these messages. Each downstream client may have a different
cursor in the history: for instance a client may be 10 messages late while
another has consumed all pending messages.
## Goroutines