Skip to main content

Module context_client

Module context_client 

Source
Expand description

The rustev.remote-context/1 HTTP client (spec 042, 3.10 and 3.12): a ContextSource backed by a context source in another process.

It describes the endpoint once, at construction, and never per decision; an unknown version, a missing source or another endpoint class is a capability failure there. Each fetch goes through the client’s bounded SeamQueue: a full queue fails at once with remote_seam_queue_full, nothing is enqueued without bound, and a fetch carries the remaining budget less the declared transit margin. A fetch is sent at most once per attempt id <decision id>/context/<n>, with no invisible retry. When the caller stops waiting, the exchange is cancelled at the endpoint (when it offers cancellation) and an answer that still arrives is discarded, counted and recorded as late; it never reaches a snapshot. Each exchange yields a digest-only rustev.remote-context-exchange/1 record to the host’s exchange sink, whose failures are counted and change nothing.

When describe carries a source’s spec 036 descriptor, the client also yields a RemoteAcquisitionSource: an ordinary installed AcquisitionSource sending acquire through the same queue (3.10.3).

Structs§

ContextClientConfig
How one client talks to one source.
RemoteAcquisitionSource
One described source’s acquisitions (3.10.3): an ordinary installed AcquisitionSource whose descriptor is exactly the one describe returned. It validates nothing spec 036 3.3.4 validates: a page’s bytes go to the runtime as the endpoint sent them. Clones share the client’s queue, so fetches and acquisitions share its in-flight limit (3.12.1).
RemoteContextClient
The client. Clones share the queue and counters.

Type Aliases§

ExchangeSink
Receives each exchange record; an error is counted, never propagated.