Skip to main content

Module gateway

Module gateway 

Source
Expand description

Gateway management for proc connectivity. Connectivity layer for Hyperactor procs.

A proc by itself is an isolated actor runtime. It owns local actor lifecycle and mailboxes, but it communicates with other procs by attaching to a gateway. The gateway encapsulates the proc’s connectivity layer: it gives attached procs an advertised location, accepts inbound traffic for that location, and forwards outbound traffic to destinations outside the proc.

This separation lets us compose different topologies without changing proc identity. A host can attach all of its procs to one gateway, so the gateway multiplexes ingress to those procs and routes egress on their behalf. A proc from a foreign host can also attach through another host’s gateway, inheriting that host’s advertised location while still retaining its own proc id. Gateways can also act as pure proxies when they do not own any local procs.

From the channel/connectivity perspective, each location has one gateway. Operationally, a gateway is both a proc multiplexer for ingress and a router for egress.

Structs§

Gateway
Connectivity boundary for one or more procs.
GatewayServeHandle
A running gateway server.