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