Consider SignalR Pull Model / Streaming for JavaScript and Java client
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 290
Description
As a part of https://github.com/dotnet/aspnetcore/issues/30289 / https://github.com/dotnet/aspnetcore/pull/33491 we didn't leverage SignalR's native streaming capability as we wanted to delay sending additional data chunks until the ones sent had been consumed by the server. Without this, the client could queue the entire stream at once (via `subject.next(nextData)`) thereby blocking interactivity till the stream was transferred. This would in turn present a breaking change for certain functionality like file uploads. Instead we took a `send`/`invoke` based approach where we `send` `X` chunks, and then `invoke` every `X+1` chunks to get a "heartbeat" for the stream, and allow other requests to interrupt the transfer.
Contributor guide
Assessment
This issue has not been assessed yet.