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 ## 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