Expand description
Engine-based AimX client.
The client rides the shared session engine: a UdsDialer (unlinked — it
exists only behind transport-uds) + the symmetric
AimxCodec drive run_client, which owns the wire, the request-id
demux, and (optionally) reconnect. The public surface is the cheap-clone
ClientHandle plus typed convenience wrappers and per-subscription
futures::Streams.
run_client is itself spawn-free (it returns a future for a runner to
drive); this convenience layer is a client application, so it drives the
engine on a tokio::spawned task held by AimxConnection. Dropping the
connection drops the handle, which stops the engine gracefully.
Structs§
- Aimx
Connection - A live connection to an AimDB instance over the shared session engine.
- Drain
Response - Response from a
record.draincall: the values accumulated since the previous drain for this connection’s per-record cursor. - Record
Update - One update from a subscription: the record value, plus the delivery metadata the engine tracks alongside it.
Constants§
- DEFAULT_
CONNECT_ TIMEOUT - Default deadline for the connect handshake (dial +
hello/Welcome). Bounds the case where a peer accepts the socket but never replies — the engine has no handshake timeout of its own, so the wait would otherwise be unbounded.