Skip to main content

Crate rustev_remote_http

Crate rustev_remote_http 

Source
Expand description

Remote adapters for Rustev (spec 009).

Part A, the machinery every remote adapter shares whatever its wire format (taxonomy, budget, cancel, wire, http, identity, cost, exchange); Part B, the rustev.remote/1 HTTP binding (client, server). Spec 020’s refinements, each off by default: phase ceilings inside the one budget (phases) and the host-endpoint principal reference of rustev.remote/2 (principal), and bounded, isolation-keyed connection reuse (pool). Spec 042’s callback protocols: the host-side server of rustev.remote-context/1 and rustev.remote-sink/1 (callback_server) and the bounded queue every callback client goes through (seam_queue), and the context client (context_client).

Modules§

budget
One total budget per attempt (spec 009, 3.4.1 and I-5): the remaining time at dispatch. Every transport phase draws from it; no phase limit can outlive it; the remote side is told the budget minus a declared transit margin.
callback_server
The host-side HTTP server of the two callback protocols (spec 042, 3.10 and 3.11): hosts any ContextSource behind POST /rustev/remote-context/1/{describe,fetch,cancel,invalidations} and any EvidenceSink behind POST /rustev/remote-sink/1/{describe,deliver}.
cancel
Cancellation that never claims more than is known (spec 009, 3.4.3 and I-6): stopped only when no request byte left the process, or when the remote side confirmed the stop with its final charge; best_effort never yields stopped.
client
The rustev.remote/1 HTTP client (spec 009, 3.11): a DecisionBackend that reaches a backend in another process and conforms to Part A.
context_client
The rustev.remote-context/1 HTTP client (spec 042, 3.10 and 3.12): a ContextSource backed by a context source in another process.
cost
Cost conversion and attribution (spec 009, 3.8.1 and 3.10.4).
exchange
Exchange records and their delivery (spec 009, 3.9), and reconciliation offers for charges learned late (3.4.4, 3.10.4).
http
An HTTP/1.1 exchange under one budget, for any remote adapter that POSTs JSON (spec 009, 3.4 and 3.11): one connection per exchange, TLS required except for loopback, request bytes tracked, the response read up to a maximum, redirects never followed, nothing retried.
identity
Adapter binding identity (spec 009, 3.2.3) and served-model identity (3.7, I-2).
phases
Phase-specific time ceilings inside the one attempt budget (spec 020, 3.4, I-1).
pool
Bounded, isolation-keyed connection reuse (spec 020, 3.5, I-2).
principal
The host-endpoint principal reference (spec 020, 3.6, I-3).
seam_queue
Bounded callback seams (spec 042, 3.12, I-3).
server
The rustev.remote/1 HTTP server (spec 009, 3.10 and 3.11): hosts any DecisionBackend behind POST /rustev/remote/1/{describe,infer,cancel}.
taxonomy
The closed error taxonomy of spec 009, 3.6: each RemoteCode maps to exactly one spec 003 failure class, carries a default charge, and is written at the front of the failure detail as remote:<code> within the run record’s 256-byte detail.
wire
What left the process, and bounded reading of what came back.