pub async fn call(
session: &Session,
base: &str,
target: &CallTarget,
producer: &str,
procedure: &str,
params: &[String],
body: Option<Vec<u8>>,
attachment: Option<Vec<u8>>,
timeout: Duration,
slices: Option<&SliceSet>,
) -> Result<CallReport>Expand description
Call a procedure and report every attributed answer.
- The key composes through the typed builders (never
format!), lifted to the wire with the configured base. paramsride the selector (?k=v;k=v), the body rides the payload (RFC 05 §1).- Fan-out guard: a
CallTarget::Fleetcall is refused when the loaded slices declare the procedurefanout = "forbidden". With no slices loaded the registry layer cannot judge — the call proceeds, and the builder/ACL layers remain (documented, not silent: the report’s key is the caller’s audit trail). - Exit-code semantics stay on
CallReport::exit_code: an error reply is a failure, zero replies stay a distinct non-verdict (RFC 05 §3.1).