rally_runtime/wire

Thin wrapper over libero’s ETF wire protocol. Delegates all encode, decode, request/response framing, and push framing to libero/wire. This is the legacy direct import path; new generated code uses the protocol_wire facade instead.

Values

pub fn coerce(value: a) -> b
pub fn decode(data: BitArray) -> a
pub fn decode_request(
  data: BitArray,
) -> Result(#(String, Int, dynamic.Dynamic), error.DecodeError)
pub fn decode_safe(
  data: BitArray,
) -> Result(a, error.DecodeError)
pub fn encode(value: a) -> BitArray

Raw ETF encode. Not safe for user custom types (bare atoms, not hashed). Only correct for pre-encoded values or primitives.

pub fn encode_push(
  module module: String,
  value value: a,
) -> BitArray
pub fn encode_request(
  module module: String,
  request_id request_id: Int,
  msg msg: a,
) -> BitArray
pub fn encode_response(
  request_id request_id: Int,
  value value: a,
) -> BitArray
pub fn tag_push(module module: String, msg msg: a) -> BitArray
pub fn tag_response(
  request_id request_id: Int,
  data data: BitArray,
) -> BitArray
pub fn tuple_element(
  tuple: dynamic.Dynamic,
  index: Int,
) -> dynamic.Dynamic
pub fn variant_tag(value: dynamic.Dynamic) -> Result(String, Nil)
Search Document