Implement Stream for EventStream#309
Merged
Merged
Conversation
haixuanTao
approved these changes
Jun 29, 2023
Merged
heyong4725
added a commit
that referenced
this pull request
Apr 17, 2026
… + #314 opened) Verification on 2026-04-17 showed the D-7c premise in the plan doc was broken: - Upstream PR #1378 (the purported source for cherry-picking) is still OPEN, mergeable=false, Copilot-authored, 3,000 lines. - Upstream main doesn't use zenoh SHM at all. It's TCP-control + shared_memory_extended-data per commit 01995ad (2026-03-18) which *removed* the shmem control channel entirely. - Fork's shmem control channel is disabled-by-default (verified: LocalCommunicationConfig has #[default] Tcp). Applying Option D (upstream's cleanup equivalent) is safe but a real refactor. Per owner direction: multiple v1.0.0-rc.N tags during Phase 5b will progressively land architectural changes, with independent dogfood between each. 1.0 GA ships with both D and zenoh SHM. Plan doc changes: - §1 Status line updated to reflect Phases 0/1/3 landed, 3b deferred to RC-window iteration. Release flow line now names rc.2 = D, rc.3 = zenoh SHM. - §5 Phase 3b section rewritten as a deferred placeholder. No code work happens in Phase 3b. Landing sequence (rc.1, rc.2, rc.3, GA) documented inline. - §18 changelog entry for the rescope. Tracking: - #309 closed with full rationale. - #313 opened for rc.2 Option D. - #314 opened for rc.3 zenoh SHM port. - Both linked as sub-issues of #292 (Phase 5b tracker). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
Streamtrait is the asynchronous equivalent of iterators. By implementing it, we allow asynchronous nodes to use the various combinator methods instead of just therecv_asyncmethod.To implement the trait, we convert the
flume::Receiverinto a async stream by usinginto_streamdirectly when theEventStreamis constructed. I also tried keeping theflume::Receiverand only usingReceiver::streamto get a temporary stream instance when needed, but this doesn't work because it does not keep the waker around (and thus never wakes it).