doc/architecture: ring buffers are now per-channel

git-svn-id: file:///srv/svn/repo/suika/trunk@266 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This commit is contained in:
contact 2020-04-17 16:29:49 +00:00
parent afc55bf108
commit eb0b828944

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