very fast at protocol indexer with flexible filtering, xrpc queries, cursor-backed event stream, and more, built on fjall
rust fjall at-protocol atproto indexer

[stream] hold a channel slot for a stream's closing error master

a subscriber is closed when its channel stays full for the send timeout, and the ConsumerTooSlow error was then try_sent into that full channel, so it was nearly always dropped and the stream just ended. the engine now reserves one slot when the stream starts and sends the error through it, behind the outputs already queued.


+44 -23
3 changed files