Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
4088960
feat(mqtt): implement platform-agnostic MqttConnector with Native and…
lxsaah Sep 6, 2026
ce28e53
feat(mqtt): implement embedded backend transport for MQTT connector
lxsaah Sep 6, 2026
781fc1c
feat(mqtt): enhance embassy runtime support and improve documentation
lxsaah Sep 6, 2026
e19d1eb
feat(mqtt): add internal test for Embassy broker session loop and upd…
lxsaah Sep 6, 2026
6ddc184
feat(mqtt): enhance transport flexibility by allowing caller-supplied…
lxsaah Sep 6, 2026
237e3cd
docs(mqtt-connector): record the runtime-neutral migration
lxsaah Sep 6, 2026
be27274
docs(mqtt-connector): unlink feature-gated items from ungated docs
lxsaah Sep 6, 2026
19caee9
feat(tokio-adapter): add embedded-io support for async streams and en…
lxsaah Sep 7, 2026
664e4fe
feat(Cargo.toml): enhance defmt dependencies for mountain-mqtt integr…
lxsaah Sep 7, 2026
cc65e63
feat(tests): add TokioNet embedded backend smoke test with reconnect …
lxsaah Sep 7, 2026
fef39fc
feat: enhance MQTT connector with session management and event handling
lxsaah Sep 7, 2026
ba9c435
feat(tests): add backend parity test for MQTT connectors and enhance …
lxsaah Sep 7, 2026
84d2b72
Refactor MQTT Connector to unify backend handling and enhance credent…
lxsaah Sep 7, 2026
e20e360
feat: add SNTP codec and TLS transport for MQTT client
lxsaah Sep 7, 2026
e770173
feat: reorganize embedded module structure and add SNTP codec impleme…
lxsaah Sep 7, 2026
7e95b31
fix(tls): correct variable name for port in connection log
lxsaah Sep 7, 2026
b234e85
docs: update feature descriptions and clarify backend distinctions in…
lxsaah Sep 7, 2026
c5a2db0
feat: add embedded TLS support for MQTT connector
lxsaah Sep 7, 2026
3b4423c
feat: update aimdb-mqtt-connector to version 0.7.0 with breaking chan…
lxsaah Sep 7, 2026
98660ff
docs(mqtt-connector): unlink feature-gated and private items from ung…
lxsaah Sep 8, 2026
14e2c2d
Merge branch 'main' into claude/merge-main-advanced-hpzufc
claude Sep 12, 2026
698ae36
feat: Enhance EmbassyTcpDialer to resolve hostnames
lxsaah Sep 12, 2026
6221aa1
Refactor Makefile and update Clippy commands for MQTT connector
lxsaah Sep 12, 2026
7c4e78c
fix: update documentation and code comments for clarity in MQTT conne…
lxsaah Sep 13, 2026
994ad2f
fix: improve QoS handling and error reporting in MQTT connector
lxsaah Sep 13, 2026
df000ab
fix: update aimdb-mountain-mqtt version and improve QoS error handlin…
lxsaah Sep 13, 2026
0fe6c6c
feat: implement ByteRead and ByteWrite traits for split streams in Em…
lxsaah Sep 13, 2026
2e47ceb
Implement event-driven MQTT session loop with enhanced packet handling
lxsaah Sep 13, 2026
734e38d
Implement scripted broker and TLS session tests for MQTT connector
lxsaah Sep 13, 2026
c91f71f
feat: refactor MQTT connector to remove embedded-io-async and embedde…
lxsaah Sep 13, 2026
a3cda51
Refactor and improve documentation across MQTT connector modules
lxsaah Sep 13, 2026
3994f8c
chore: update changelog and improve packet reader documentation for c…
lxsaah Sep 13, 2026
c524c17
feat: enhance QoS 1 message handling in MQTT session loop; ensure all…
lxsaah Sep 13, 2026
1d0fb03
feat: remove embedded-hal-async dependency from Cargo.toml and Cargo.…
lxsaah Sep 13, 2026
2d74071
feat: rename deprecated module names for clarity and remove compatibi…
lxsaah Sep 13, 2026
53cec27
feat: implement QoS 2 downgrade warning for embedded backend and upda…
lxsaah Sep 13, 2026
8097f10
feat: enhance documentation for DuplexHandle locking behavior and rel…
lxsaah Sep 13, 2026
5170f16
feat: improve Clippy output messages and enhance documentation in MQT…
lxsaah Sep 13, 2026
5c35aa0
feat: refine changelog entries and improve comments for clarity
lxsaah Sep 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 50 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

91 changes: 80 additions & 11 deletions Makefile

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions aimdb-core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- **`ByteStream::split`, with `ByteRead` / `ByteWrite`.**
Borrows a stream into independently usable read and write halves, so a
session can run a reader and a writer concurrently in one `select` — which a
single `&mut` stream cannot express at all. Borrowed halves are enough: both
live in the same stack frame, which is why this needs nothing owned or
`'static` and why the objection design 052 recorded against `connector-io`
does not apply. `read`/`write_all`/`flush` stay for the handshake and for
callers that never split. The MQTT connector's event-driven session is the
first consumer; the Embassy and Tokio adapters implement it.
- **The cancellation contract is written down.** `read` is
cancel-safe on both adapters AimDB ships — dropping the future consumes
nothing, verified per layer and end to end over a drip transport — but that
is documented as a property of those transports rather than a promise of the
trait, so a reader that cannot resume mid-packet is still free to implement
it. `write_all` is cancel-safe **nowhere** and must never sit in a `select`
arm: a partial write desynchronises the framing above it with nothing to
resync on.

- **Runtime-neutral I/O layer (`session::io`, feature `connector-session`).**
`ByteStream`/`StreamDialer`/`StreamListener`/`Datagram`/`DatagramBinder`/`Delay`
sit below `Connection`, so an adapter owns sockets and clocks while a connector
Expand Down
Loading