doc/architecture: ring buffers are now per-channel

This commit is contained in:
Simon Ser 2020-04-17 18:29:49 +02:00
parent d74fa2d222
commit dbd6cd689e
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48

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