Skip to content
This repository was archived by the owner on Jun 19, 2026. It is now read-only.

Commit 6b61775

Browse files
Add Push/Pull streaming model and TypeScript TCP library
Spec changes (v1.1.0): - Replace Stream/Sink with Push/Pull type names - Push<T> = caller→callee, Pull<T> = callee→caller - Caller allocates ALL stream IDs (both directions) - Response implicitly closes Pull streams - Service definitions are from caller's POV - Callee handlers have types flipped (Push↔Pull) - Use peer-neutral terminology (caller/callee, not client/server) New TypeScript library (typescript/tcp/): - CobsFramed for COBS over TCP - Connection with Hello exchange and message loop - Server class for subject testing Refactored subjects to use new libraries: - Rust subject uses roam-tcp crate - TypeScript subject uses @roam/tcp (294 LOC → 40 LOC)
1 parent 2d17f7a commit 6b61775

22 files changed

Lines changed: 2042 additions & 667 deletions

File tree

Cargo.lock

Lines changed: 28 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ members = [
1212
"rust/roam-shm",
1313
"rust/roam-codegen",
1414
"rust/roam-macros",
15+
"rust/roam-tcp",
1516
"rust/subject-rust",
1617
# New compliance suite
1718
"spec/spec-proto",
@@ -31,6 +32,7 @@ default-members = [
3132
"rust/roam-shm",
3233
"rust/roam-codegen",
3334
"rust/roam-macros",
35+
"rust/roam-tcp",
3436
]
3537

3638
[workspace.package]

0 commit comments

Comments
 (0)