Skip to main content

Module session

Module session 

Source
Expand description

Session route control wire contract.

subc has two distinct channel-0 handshakes. Module registration is the module-to-subc HELLO/HELLO_ACK handshake that registers the manifest and liveness. Route bind is the client-to-subc-to-module request/response handshake that binds one client route to a module route channel.

Structs§

HealthReport
LiveRoot
Counts of routes for one canonical project root.

Enums§

HealthStatus
ModuleControlCommand
One-way subc-to-module channel-0 control command.
ModuleControlPush
Module-to-subc channel-0 push body.
ModuleControlRequest
subc-to-module channel-0 control RPC body.
ModuleControlRequestFromModule
Module-originated channel-0 control RPC body.
ModuleControlResponse
Module-to-subc channel-0 response body.
ModuleControlResponseToModule
subc’s channel-0 response body for module-originated control RPCs.
RoleVersionsError
Why a role_versions map was refused.

Constants§

MAX_ROLE_NAME_LEN
The longest role name accepted in role_versions, in bytes.
MAX_ROLE_VERSIONS
Most entries a role_versions map may hold.
MODULE_CONTROL_OP_HEALTH_CHECK
MODULE_TO_SUBC_OP_CATALOG_UPDATE
ROLE_VERSIONS_FIELD
The wire name of the role_versions field on route.open and route.bind, for the detail.field of the invalid_request error that refuses a malformed one.

Functions§

validate_role_versions
Check a role_versions map: at most MAX_ROLE_VERSIONS entries, each role name matching ^[a-z0-9]+(-[a-z0-9]+)*$ in at most MAX_ROLE_NAME_LEN bytes, and each version matching ^v[1-9][0-9]*$.