Skip to content

feat: add a wire-codec endpoint for network transports#83

Merged
joshua-temple merged 1 commit into
mainfrom
feat/cluster-wire-codec
May 31, 2026
Merged

feat: add a wire-codec endpoint for network transports#83
joshua-temple merged 1 commit into
mainfrom
feat/cluster-wire-codec

Conversation

@joshua-temple
Copy link
Copy Markdown
Collaborator

Adds the wire-codec seam that lets a network transport carry actor operations between nodes while the kernel keeps its concrete, typed events. System.DeliverWire decodes a JSON-encoded event into the node's own event type E and delivers it locally; SpawnWire decodes a JSON input map and spawns locally. The new WireEndpoint interface (which *System satisfies) is the network counterpart to the in-process Endpoint: where the in-memory transport passes Go values between same-process systems unchanged, a network transport serializes the payload on the sending node and hands the bytes to the owning node's WireEndpoint, which decodes them into E. Decoding on the owning node is what keeps the transport type-erased while the kernel stays typed. This is the stdlib-only foundation for the gRPC transport, which lands in its own module so the cluster core carries no network dependency. Coverage: cluster 93 percent. Additive; stdlib-only.

Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple joshua-temple merged commit 45c0bd2 into main May 31, 2026
10 checks passed
@joshua-temple joshua-temple deleted the feat/cluster-wire-codec branch May 31, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant