Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature(*): Introduce fully async library #58

Draft
wants to merge 36 commits into
base: master
Choose a base branch
from
Draft

Conversation

MathiasKoch
Copy link
Member

@MathiasKoch MathiasKoch commented May 31, 2024

Missing stuff:

  • (OTA): Request momentum
  • (OTA): HTTP data interface
  • (OTA): README
  • (Provision): Re-subscribe on None in subscriptions
  • (Shadows): integration test
  • (Shadows): Documentation overhaul
  • (Shadows): README
  • CI (Tests & clippy)

Fixes #33

@MathiasKoch MathiasKoch changed the title Feature(*) Introduce fully async library Feature(*): Introduce fully async library May 31, 2024
MathiasKoch and others added 14 commits June 11, 2024 10:13
…o individual accepted and rejected topic for now
* Wip on rewriting shadows to async

* Further work on async shadows. Still working on compile errors

* Fix: Async shadow (#60)

* fix asyunc shadow

* renaming of handle message and some linting

* shadows error fix and handle delta should wait for connected

* fmt

* Add const generic SUBS to shadows

* Fix/async shadow (#61)

* fix asyunc shadow

* renaming of handle message and some linting

* shadows error fix and handle delta should wait for connected

* fmt

* subscribe to get shadow and do not overwrite desired state

* Get shadow should deserialize patchState

* wait for accepted and rejected for delete and update as well

* Make sure OTA job documents can be deserialized with no codesigning properties in the document (#62)

* Dont blindly copy serde attrs in ShadowPatch derive, but rather introduce patch attr that specifies attrs to copy

* Add skip_serializing_if none to all patchstate fields

* Shadows: Check client token on all request/response pairs

* Create initial shadow state, if dao read fails during getShadow operation

* remove some client token checks

* Fix not holding delta message across report call

* handle delta on get shadow

* Bump embedded-mqtt

* Fix all tests

* Allow reporting non-persisted shadows directly, through a report fn

* Bump embedded-mqtt

* Enhancement(async): Mutex shadow to borrow as immutable (#63)

* Use mutex to borrow shadow as immutable

* remove .git in embedded-mqtt dependency

---------

Co-authored-by: Kenneth Knudsen <[email protected]>
Co-authored-by: Kenneth Knudsen <[email protected]>
* Ensure only one sub on the same topic

* wait for mqtt connected in report

* Reduce request locks to one
KennethKnudsen97 and others added 2 commits February 6, 2025 19:39
* Initial structure of defender metrics

* metric structure and tests

* generic custom metric

* Change Custom metric to use references

* aws types with references

* impl tuple for Version

* remove timestamp as argument for function in custom metric

* include aws metrics and use bon crate for building metric struct

* error handling

* error handling

* error handling

* feature flag for cbor and temp fix for Header serialize

* smal changes

* String list example

* Metric integration test

* Update src/defender_metrics/data_types.rs

Co-authored-by: Mathias Koch <[email protected]>

* Cargo clippy and unit test

* cargo clippy fix

* fixed unit test and version serialization

* fix test

---------

Co-authored-by: Mathias Koch <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for AWS IoT Device Defender
2 participants