x/gateway/ipc Primer
x/gateway/ipc Primer
Section titled “x/gateway/ipc Primer”Experimental — API compatibility is not frozen. Evaluate before adopting in production. Check Release Posture for current maturity status.
Open this page when the task is clearly about explicit inter-process communication transport between processes — not general messaging flows. Start from x/gateway or x/messaging if you are uncertain which extension applies.
x/gateway/ipc is a subordinate primitive of x/gateway. It provides lower-level IPC helpers and explicit transport adapters. It is not an application bootstrap, a messaging abstraction, or a workflow orchestrator.
Stability and adoption
Section titled “Stability and adoption”x/gateway/ipc is experimental. API compatibility is not frozen. Before adopting in production:
- Check
x/gateway/ipc/module.yamlfor current status, owner, and known blockers. - Read Release Posture for the support matrix.
- Consider whether
x/gatewaycovers your use case at a higher level of abstraction.
When to use this module
Section titled “When to use this module”Use x/gateway/ipc when:
- The task is explicit IPC transport behavior.
- The task is client/server communication between processes.
- You need direct control over inter-process communication at the transport level.
When not to use this module
Section titled “When not to use this module”Do not use x/gateway/ipc for:
- Application bootstrap — use
core. - General messaging family discovery — start from
x/messaging. - Business workflow orchestration — use
x/messaging/schedulerorx/messaging. - In-process communication — use
x/messaging/pubsub. - Durable queues — use
x/messaging/mq.
First files to read
Section titled “First files to read”x/gateway/ipc/module.yaml— responsibilities, non-goals, and validation commandx/gateway/ipc/ipc.go— primary transport contractsx/messaging Primer— app-facing messaging entrypoint
Boundary rules
Section titled “Boundary rules”x/gateway/ipcprovides explicit IPC transport; do not use it as a substitute for in-process messaging (x/messaging/pubsub) or durable queues (x/messaging/mq).- Keep transport contracts and process-wide side effects explicit and reviewable; do not add implicit channel registration at import time.
- Do not expose IPC connection strings or socket paths through stable roots; keep them local to
x/gateway/ipcadapters. - Prefer
x/messagingas the app-facing entrypoint for cross-process messaging before wideningx/gateway/ipccallers.
Canonical change shape
Section titled “Canonical change shape”- Keep transport contracts explicit.
- Keep process-wide side effects reviewable.
- Prefer family-level discovery in
x/gatewayorx/messagingbefore wideningx/gateway/ipc.
Validation
Section titled “Validation”go test -timeout 20s ./x/gateway/ipc/...Read next
Section titled “Read next”- x/gateway Primer — parent family for edge and proxy transport
- x/messaging Primer — app-facing cross-process messaging
- Extension Boundary — how subordinate primitives relate to parent families
- Release Posture — support matrix and maturity reading