Skip to main content

config_wire_fingerprint

Function config_wire_fingerprint 

Source
pub fn config_wire_fingerprint() -> String
Expand description

detcore_model::config::config_wire_fingerprint, extended with the revision of Detcore’s global RPC (crate::tool_global::GLOBAL_RPC_REVISION).

A runtime that embeds Detcore (SaBRe’s plugin, the LiteInst runtime that in-guest-trap also loads, DBT’s) sends GlobalRequests to its coordinator as positional bincode and decodes the GlobalResponses. Both enums live in this crate, outside the sources the configuration’s fingerprint hashes, so a variant one build had and the other lacked went unnoticed: a newer runtime’s request failed to decode in the middle of a run, and an older runtime never sent it (and so, for one, kept the host’s inotify rename cookies). Every such runtime compares this fingerprint with its coordinator’s before it decodes anything, so the pair is refused by name. The revision stands for the enums’ source, which, unlike the configuration’s, is not embedded: these runtimes are loaded into the guest, where every byte they grow by moves the guest’s own mappings.