doc/architecture: ring buffers are now per-channel
This commit is contained in:
parent
d74fa2d222
commit
dbd6cd689e
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user