Skip to content

fidius-core::wire Rust

Wire format serialization for Fidius plugin FFI boundary.

Fidius uses bincode as the single wire format for all FFI data. Prior to 0.1.0 the format varied by build profile (JSON in debug, bincode in release) — that was removed because profile-mixed host/plugin load rejections caused repeated dev-loop friction with no real inspection benefit to offset them.

Enums

fidius-core::wire::WireError pub

Errors that can occur during wire serialization or deserialization.

Variants

  • Bincode - Bincode serialization/deserialization error.

Functions

fidius-core::wire::serialize

pub

fn serialize < T : Serialize > (val : & T) -> Result < Vec < u8 > , WireError >

Serialize a value as bincode for transport across the FFI boundary.

Source
pub fn serialize<T: Serialize>(val: &T) -> Result<Vec<u8>, WireError> {
    bincode::serialize(val).map_err(WireError::Bincode)
}

fidius-core::wire::deserialize

pub

fn deserialize < T : DeserializeOwned > (bytes : & [u8]) -> Result < T , WireError >

Deserialize a value from bincode bytes received across the FFI boundary.

Source
pub fn deserialize<T: DeserializeOwned>(bytes: &[u8]) -> Result<T, WireError> {
    bincode::deserialize(bytes).map_err(WireError::Bincode)
}