Follow-up to #39 / doc 041. Its own PR, built on the merged Phase 6 foundation (generic SessionClientConnector/SessionServerConnector, no_std AimxCodec, the aimdb-uds-connector template).
First real new transport (UDS was only relocated) — proves the "transport = thin crate" model holds.
Scope
Verification
Notes
embassy-net is already a workspace dependency.
- Framing lives in
TcpConnection; AimxCodec is reused unchanged.
Follow-up to #39 / doc 041. Its own PR, built on the merged Phase 6 foundation (generic
SessionClientConnector/SessionServerConnector,no_stdAimxCodec, theaimdb-uds-connectortemplate).First real new transport (UDS was only relocated) — proves the "transport = thin crate" model holds.
Scope
aimdb-tcp-connector, modeled onaimdb-uds-connector+ the dual-module pattern ofaimdb-mqtt-connector(tokio-runtime/embassy-runtimefeatures).TcpConnection(newline- or length-prefix framing),TcpDialer,TcpListener.TcpClient(=SessionClientConnector<TcpDialer, AimxCodec>),TcpServer(=SessionServerConnector<...>+AimxDispatch).tokio::net::TcpStream/TcpListener) — std.embassy-net) — client + cross-compile only; the Embassy server half waits on no_std AimX server (dispatch) port — cross-cutting AnyRecord + RecordMetadataTracker de-std #120 (needsno_stdAimxDispatch).tcp://host:port(parse via existingConnectorUrlor a small parser).Verification
AimDb <-> AimDbover TCP loopback round-trip test (mirroraimdb-websocket-connector'sws_roundtrip/e2e).make test-embedded:cargo check -p aimdb-tcp-connector --target thumbv7em-none-eabihf --features embassy-runtime.Notes
embassy-netis already a workspace dependency.TcpConnection;AimxCodecis reused unchanged.