Simon Ser
f4aa05af66
Remove Ring.consumers
...
We don't need to keep track of consumers anymore.
2020-04-07 14:46:31 +02:00
Simon Ser
dd08acc3ea
Make Ring.NewConsumer seq argument mandatory
...
There's no point in supporting a nil argument anymore.
2020-04-07 14:45:08 +02:00
Simon Ser
7ce369958e
Remove Ring.Close
...
This is unused.
2020-04-07 14:42:13 +02:00
Simon Ser
7961fbc137
Remove RingConsumer.Close
...
This is now unused.
2020-04-06 18:33:26 +02:00
Simon Ser
f0bc919885
Remove downstreamConn.ringConsumers
...
We no longer need long-lived ring buffer consumers now that
upstreamConn.produce dispatches messages to downstream connections.
2020-04-06 18:31:48 +02:00
Simon Ser
3bece53335
Remove locks from ring buffer
...
Everything is now accessed from the user goroutine.
2020-04-06 18:18:50 +02:00
Simon Ser
d541587701
Remove channel from ring buffer consumers
...
This is unused.
2020-04-06 18:13:46 +02:00
Simon Ser
10da094259
Stop ring consumers when deleting network
2020-04-01 15:48:56 +02:00
Simon Ser
b0ab43e5d8
Add more details to ring buffer panics
2020-03-24 09:22:40 +01:00
Simon Ser
f3940117d1
Rename project to soju
2020-03-13 18:13:03 +01:00
Simon Ser
70d811f5a8
Document Ring
2020-02-17 16:09:35 +01:00
Simon Ser
9a93c56cdf
Fix issues related to Ring
...
- RingConsumer is now used directly in the goroutine responsible for
writing downstream messages. This allows the ring buffer not to be
consumed on write error.
- RingConsumer now has a channel attached. This allows PRIVMSG messages
to always use RingConsumer, instead of also directly pushing messages
to all downstream connections.
- Multiple clients with the same history name are now supported.
- Ring is now protected by a mutex
2020-02-17 15:46:29 +01:00
Simon Ser
7127fa325a
Add names to consumers
2020-02-07 17:35:57 +01:00
Simon Ser
fad9d820c1
Add an in-memory ring buffer
...
References: https://todo.sr.ht/~emersion/jounce/2
2020-02-07 16:43:54 +01:00