You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
omnistreams aims to support passing arbitrary messages in a descrete send. However, at one point I ran into problems with Chrome trying to send chunks that were too big, which resulted in this commit: 3d5fff0
What that means is we're currently limited to messages that are 64KiB. Need to do more exploration now that things are more stable and see if we can better understand the limitations. I suspect there may have been confounding variables with the Golang implementation and maybe the window size as well.
Worst case we might need to keep the muxado frame length and permit omnistreams frames to be split across multiple WebSocket frames. It would be nice to avoid that, but it's not too completely awful to implement. Here's the current implementation which is only needed if interfacing with a muxado peer:
Just did a quick test and when piping a file into a TransformStream, Chrome (127.0.6533.99) is yielding chunks of size 2097152 out the other side, whereas Firefox (129.0) is only yielding size 65536 chunks. 2MiB might be a little big. It's tricky. Whatever value we accept, the default window size needs to be at least that big. Maybe we just punt it to devs: make the window size configurable (with a reasonable default), and make the max chunk size always match the window size.
omnistreams aims to support passing arbitrary messages in a descrete send. However, at one point I ran into problems with Chrome trying to send chunks that were too big, which resulted in this commit: 3d5fff0
What that means is we're currently limited to messages that are 64KiB. Need to do more exploration now that things are more stable and see if we can better understand the limitations. I suspect there may have been confounding variables with the Golang implementation and maybe the window size as well.
Worst case we might need to keep the muxado frame length and permit omnistreams frames to be split across multiple WebSocket frames. It would be nice to avoid that, but it's not too completely awful to implement. Here's the current implementation which is only needed if interfacing with a muxado peer:
omnistreams-js/index.js
Line 68 in 4de2b77
The text was updated successfully, but these errors were encountered: