Hey,
I’ve been working on a small crate called stream_shared that lets you clone and share streams across tasks safely.
A few key properties:
Send + Sync — can be cloned and used across threads.
Memory-efficient — each clone only sees items that the stream being clones has access to; once all clones have passed an item, it’s freed.
No panics or arbitrary limits.
Unlike the other crates this one properly de-allocates old items as consumers move forward.
It’s been really useful for me in fan-out and retry use cases.
Would love feedback, especially around API ergonomics and edge cases.
Repo: https://github.com/ankurmittal/stream-shared-rs Docs: [https://docs.rs…
Hey,
I’ve been working on a small crate called stream_shared that lets you clone and share streams across tasks safely.
A few key properties:
Send + Sync — can be cloned and used across threads.
Memory-efficient — each clone only sees items that the stream being clones has access to; once all clones have passed an item, it’s freed.
No panics or arbitrary limits.
Unlike the other crates this one properly de-allocates old items as consumers move forward.
It’s been really useful for me in fan-out and retry use cases.
Would love feedback, especially around API ergonomics and edge cases.
Repo: https://github.com/ankurmittal/stream-shared-rs Docs: https://docs.rs/stream_shared