Expand description
Generated v2 broker protocol types.
Modules§
- session_
frame - Nested message and enum types in
SessionFrame.
Structs§
- Backend
Http Ready - Notification frame sent from a daemon to its broker once the daemon’s
HTTP server has bound a port.
portisu16in Rust; proto’s narrowest integer isuint32so the wire type isuint32and the broker validates the range on receipt. - Cache
Manifest - v2 cache manifest envelope.
- Cache
Root - One cache root the daemon exposes. v2 mirrors v1’s shape so the CacheManifestBuilder API is identical at the call site.
- GetBroker
Http Endpoint Request - CLI→broker request for the broker’s own HTTP endpoint. Empty marker — no fields are necessary; the broker fronts exactly one HTTP server.
- GetBroker
Http Endpoint Response - Broker→CLI response carrying the resolved HTTP endpoint.
portis the port the broker is currently bound on (after env-override / config resolution per #483 §3);pidis the broker’s process id, included so a mid-restart consumer can distinguish a stale answer from a live one without needing a separate liveness probe. - GetSession
Token Request - CLI→broker request for the current composite session token
(zackees/soldr#2360, #2361 Phase 2, #2363) of one daemon. A cooperative
liveness/revocation signal, NOT authentication – see
broker/server/session_token.rs’s module docs for the full model. This is how a client learns a token to present on a laterHello.auth_token: the broker mints and registers a daemon’s half when it launches that daemon (HelloRouter::launch_backend), and this RPC is the read-only lookup a client uses afterward, deliberately kept off the FROZEN FOREVER v1Hello/Negotiatedenvelope (per #228) since it evolves with v2. - GetSession
Token Response - Broker→CLI response.
found = falsemeansdaemon_idhas no registered token (never launched through this broker, or already invalidated) –session_tokenis empty in that case, not a zero-filled placeholder. - Http
Server Capability - Optional per-backend HTTP server capability.
- Service
Definition - v2 service definition envelope.
- Session
EnvVar - One ordered environment entry for
SessionStart.env. (Thebroker.v2package cannot reachdaemon.proto’sKeyValue, so it defines its own.) - Session
Exit - How a proxied compile session ended.
codeis the child’s exit code when it exited normally.signalis the terminating Unix signal number when the child was killed by a signal (0 when it exited normally, and always 0 on Windows). Consumers readsignalfirst: a non-zerosignalmeans signal death regardless ofcode. - Session
Frame - One frame on a proxied compile session’s stdio stream. Exactly one field is
set per frame (proto3 oneof). Directionality is by field, not a flag:
stdin/stdin_eofflow client -> daemon;stdout/stderr/exitflow daemon -> client. Frames are delivered in order within each direction. - Session
Start - The command a compile session runs, carried on the session’s opening
startframe.environment_policyselects the base;envis then applied in order (repeated, not a map) so key-case collisions resolve deterministically the waystd::process::Command::envdoes.
Enums§
- Broker
Isolation - Broker isolation mode for a service.
- Cache
Root Kind - Logical role classification for cache roots. Wire values mirror v1’s
broker_v1.CacheRootKindEXACTLY (seebroker_v1_manifest.proto). Keeping the integer values aligned avoids subtle bugs when consumers mix the two generations (e.g. viaas i32casts in test fixtures or in code that bridges between v1 and v2). New kinds land in the reserved range; v1’s enum is FROZEN so anything past 9 is v2-only. - Environment
Policy - Selects the base environment for the session child. AUTO is deliberately not a wire value: the client resolves lifetime-dependent defaults before opening the session.