-
Notifications
You must be signed in to change notification settings - Fork 256
Closed
Labels
asyncRelated to async/streams in the component model.Related to async/streams in the component model.gen-rustRelated to bindings for Rust-compiled-to-WebAssemblyRelated to bindings for Rust-compiled-to-WebAssembly
Description
Currently streams implement Sink and Stream for Vec<T>, but this has a number of implications:
- For primitives such as
stream<u8>that means that sending chunks of data requires sending chunks of allocations. There's no chance to reuse buffers or otherwise have more efficient buffer handling. - For non-primitives such as
stream<list<u8>>it's possible that a write doesn't fully send everything. There's no way to recover items which weren't sent in a chunk. I realize right now thatwrite-as-generated writes everything in a loop, but I think this is probably also something worth changing. - If a write is cancelled there's no way currently to recover the original chunk of items that were being sent.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
asyncRelated to async/streams in the component model.Related to async/streams in the component model.gen-rustRelated to bindings for Rust-compiled-to-WebAssemblyRelated to bindings for Rust-compiled-to-WebAssembly