river icon indicating copy to clipboard operation
river copied to clipboard

🌊 Long-lived Streaming Remote Procedure Calls

Results 11 river issues
Sort by recently updated
recently updated
newest added

- [x] Define protocol and update doc #111 - [x] Design stream abstractions #118 - [x] Implement stream abstractions - [x] ReadStream #130 - [x] WriteStream #132 - [ ]...

Exactly the same as #136 but for the server

The tsconfig is pretty stock, we should fix it. `lib` should be `[]`, and then there are some of the strict checks like `noUncheckedIndexedAccess` that we should enable. It'll lead...

https://eslint.org/docs/latest/rules/padding-line-between-statements

e.g. if a repl is taken down, we should stop retrying the connection to it

- backwards compatible - eliminate transport client id and only use session ids everywhere (messages + handshakes) - backwards incompatible - null out `to` and `from` in each message, just...

enhancement

## Why Memory is not unbounded and underlying transports have limits on maximum payload size. When we accidentally exceed the max payload size for an underlying transport, the connection can...

## Why I want to start enforcing max payload size before we attempt to send the messages over the wire. Ideally we can confine these errors to be per-stream so...

Seems like we mostly decided against this ## Why ## What changed ## Versioning - [ ] Breaking protocol change - [ ] Breaking ts/js API change

## Why Fixes https://github.com/replit/river/issues/333 In streaming procedures, you often need to push an uncaught error into the stream _outside_ of the scope of the handler. This is tricky since all...