Repository navigation
Conversation
This was referenced Oct 27, 2026
belikh
force-pushed
the
direct-transport
branch
from
October 27, 2026 04:37
0b81f1f to
fc98264
Compare
belikh
force-pushed
the
multiplexed-streams
branch
from
October 27, 2026 04:37
89a703e to
a066867
Compare
Contributor
|
This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size. |
belikh
force-pushed
the
multiplexed-streams
branch
from
October 27, 2026 05:07
629a050 to
195c2e2
Compare
Add crates/mesh-stream: a 16-entry stream table with initiator/responder parity, per-stream byte credit, a 64 KiB per-stream queue bound, explicit close/reset and a control-first two-class scheduler. It is no_std + alloc and host-tested. The MCP module uses stream 5 for bulk data and stream 6 for latency control. The bulk origin grants two chunks in the request and two more with a Control/WindowUpdate record after each consumed pair. /mesh/bulk?cancel=1 sends Cancel/Cancel, clears the local transfer and resets the peer stream. Real direct two-kernel credit run: 64 KiB in 16 x 4 KiB chunks, 191 ms (0.327 MiB/s) in clean runs against 832 ms for the 1 KiB baseline. The control-during-bulk and cancel rig scenarios are implemented; the final bundle is an explicit open item because the shared host intermittently stalls a large record mid-frame (the receive deadline fails closed and the rig records it). No kernel or ROM change. Signed-off-by: Jupiter Belic <belikh@users.noreply.github.com>
Signed-off-by: Jupiter Belic <belikh@users.noreply.github.com>
belikh
force-pushed
the
multiplexed-streams
branch
from
October 27, 2026 05:13
195c2e2 to
64ba270
Compare
This branch has not been deployed
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.
Summary
Implements #246 on top of #245.
crates/mesh-stream: 16-entry stream table, initiator/responder parity, per-stream byte credit (64 KiB max), 64 KiB queue bound, close/reset, control-first scheduler;no_std + alloc, host tests.Control/WindowUpdateafter each consumed pair.GET /mesh/bulk?cancel=1sendsCancel/Cancel, clears both sides and resets the slot.Evidence
cargo test -p mesh-stream: 6 tests (parity/bound, credit exhaustion + control bypass, reset/reclaim, queue bound, control-first scheduling, close transitions).credit_grantcounters andWindowUpdateacceptance observed; rejects stayed zero.Limits
The 8 KiB record path intermittently stalls mid-frame on the shared host; the module fails closed with a partial decoder and the rig records it. The control-during-bulk/cancel end-to-end bundle is therefore an explicit open evidence item, not a pass. No multi-application stream API, no kernel scheduler, no TLS/peer auth.