sharedsignals icon indicating copy to clipboard operation
sharedsignals copied to clipboard

Flow control

Open traib-google opened this issue 9 months ago • 2 comments

Should there be language in the spec to support flow control?

Buffering, backpressure etc.

Today, for PUSH:

  • A Transmitter is free to send as many or as little events per second as it wants. Most implementations would likely send events as soon as they are generate, potentially overwhelming Receivers during periods of high activity.

  • A Transmitter is free to buffer as many or as little events as it wants. So if the Receiver is down / unavailable, or is otherwise unable to ack all events for some reason, the Transmitter may start dropping them.

Similar considerations apply to PULL:

  • If events are not pulled regularly, the Trasmitter may start dropping them. The exact details of how many events are buffered, for how long, etc. are implementation dependent and outside the spec currently.

I think it would be useful to have some of these knobs visible in the metadata / stream config, so that the Transmitters and Receivers can plan accordingly.

traib-google avatar Apr 03 '25 19:04 traib-google

This came up in the following issues: https://github.com/openid/sharedsignals/issues/107 https://github.com/openid/sharedsignals/issues/106

ysarig75 avatar Apr 03 '25 19:04 ysarig75

This was discussed in the WG meeting on 2025-04-15.

traib-google avatar Apr 29 '25 13:04 traib-google