Skip to main content

check_driver_interface

Function check_driver_interface 

Source
pub fn check_driver_interface(
    transport: &str,
    name: &str,
    version: &str,
    contracts: Option<&WitContracts>,
    level: &WitLevel,
) -> Result<(), RuntimeError>
Expand description

Checks the inference driver’s exports against the transport that names it and the WIT level this host serves.

Under process the driver’s exports must include the process interface at the version level lists for murmur:driver (for the served level, PROCESS_DRIVER_IFACE) under that exact name; other instances alongside it are ignored. A driver exporting the process interface only at other versions does not fit the level and is refused with RuntimeError::WitLevelMismatch; one exporting no version of it is not a process driver and is refused with RuntimeError::ProcessDriverInterfaceMissing. Under http it must export no version of the process interface. contracts is what murmur_artifact::extract_wit_contracts read out of the driver’s wasm; None (a core module, or bytes it could not read) counts as exporting nothing. Any other transport passes.