pub struct Agent {
pub robot_id: String,
pub signal_url: String,
pub credential_path: PathBuf,
pub quic_port: u16,
pub ipv6: bool,
pub port_mapping: bool,
pub qos_profile: String,
pub max_sessions: u32,
pub host_override: Option<String>,
pub recovery_ladder: bool,
pub relay: bool,
pub enrolment_token: Option<String>,
}Fields§
§robot_id: StringThe robot’s id as enrolled with the cloud; what pilots and the console see.
signal_url: StringThe signal server’s WebSocket URL, wss://host/ws. Enrolment derives
its REST address from it.
credential_path: PathBufEd25519 seed file, created on first run. The private half never leaves the robot; enrolment registers the public half (ADR 0007).
quic_port: u16UDP port the QUIC endpoint binds; the port a router forward or pinhole must open.
ipv6: boolBind and advertise IPv6 as well as IPv4.
port_mapping: boolAsk the router for a port mapping (PCP, NAT-PMP, UPnP) during discovery, so a robot behind a consumer router is reachable without a manual forward.
qos_profile: StringThe QoS ceiling: latency, balanced or quality.
max_sessions: u32Concurrent pilot sessions (one driver, the rest observers).
host_override: Option<String>Skip discovery and advertise this host only (LAN testing).
recovery_ladder: boolAsk for the cheapest useful recovery point (LTR → intra-refresh → IDR)
rather than always demanding a keyframe. Set false for a publisher that
mishandles any kind but idr.
relay: boolServe a session through the cloud relay when the pilot could not connect directly (ADR 0010). The pilot only asks after its direct attempts fail, and its HUD says so; set false to refuse relayed sessions altogether.
enrolment_token: Option<String>One-time enrolment token, redeemed on first start when no credential
exists yet. SEYD_ENROLMENT_TOKEN overrides it — prefer the
environment, so a provisioning secret need not be written to disk.