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:
parent
afc55bf108
commit
eb0b828944
@ -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…
x
Reference in New Issue
Block a user