pub struct DaemonResponseFrame {
pub ok: bool,
pub result: Option<String>,
pub error: Option<String>,
pub namespace_mismatch: bool,
pub config_mismatch: bool,
pub served_config_id: Option<String>,
pub version_mismatch: bool,
pub daemon_protocol_version: u32,
pub metrics: Option<MetricsSnapshot>,
}Expand description
Response frame sent from the daemon back to a client.
Fields§
§ok: bool§result: Option<String>§error: Option<String>§namespace_mismatch: bool§config_mismatch: boolSet when the request’s config_id does not match the daemon’s. Like
namespace_mismatch, this signals the client to fall back to local
dispatch rather than execute under a different runtime/config.
served_config_id: Option<String>The config_id the daemon dispatched under, echoed back so the client
can positively confirm the result came from a matching runtime. A
pre-config_id daemon omits this field (deserializes to None), which
the client treats as a mismatch and falls back to local dispatch — this
closes the upgrade window where a new restricted client could otherwise
trust a still-warm legacy daemon’s broader registry.
version_mismatch: boolSet when the client’s protocol_version does not match the daemon’s
PROTOCOL_VERSION. The client must treat this as a hard error and
surface the human-readable error field rather than falling back to
local dispatch (which would hide the version skew).
daemon_protocol_version: u32The daemon’s PROTOCOL_VERSION, echoed in error responses so the
client can include both sides in the diagnostic message. Pre-versioning
daemons omit this field (deserializes to 0).
metrics: Option<MetricsSnapshot>Populated when the request set metrics_only: true: a point-in-time
snapshot of the daemon’s server-side gauges. None on every other
response, and on any response from a daemon that predates this field
(client-side back-compat via #[serde(default)], matching
served_config_id’s upgrade-window handling above).