Skip to content

Conversation

wirew0rm
Copy link
Member

@wirew0rm wirew0rm commented Jul 5, 2024

This adds support for RDA3, the protocol used by CMW/FESA based devices.

  • Fixes some quirks in the cmwlight serialiser that are needed to serialize the control messages:
    • support for maps
    • deserialise empty objects/maps
    • some minor bugs
    • add unittests with real world data to prevent regressions
  • Adds a lightweight zeromq STREAM based nameserver client to resolve rda3 device names
  • Add a cmwlight client implementation

There are still some open points, for now only get requests are handled completely, subscriptions generally work but need a bit more state-tracking to be reliable

  • finish the state machine
  • replace some fixed strings with the actual data (e.g. client information)
  • integrate the name server into the client.
  • general code cleanup

@wirew0rm wirew0rm had a problem deploying to configure coverage July 5, 2024 12:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 5, 2024 12:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 5, 2024 12:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 5, 2024 12:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 5, 2024 12:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 5, 2024 12:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 8, 2024 21:04 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 8, 2024 21:04 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 8, 2024 21:04 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 8, 2024 21:04 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 8, 2024 21:04 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 8, 2024 21:04 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 9, 2024 06:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 9, 2024 06:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 9, 2024 06:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 9, 2024 06:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 9, 2024 06:57 — with GitHub Actions Failure
@wirew0rm wirew0rm had a problem deploying to configure coverage July 9, 2024 06:57 — with GitHub Actions Failure
wirew0rm and others added 10 commits January 15, 2025 14:26
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Implemented using the ZMQ NATIVE pattern s.t. it can use the same
pollers and zmq context as the client itself.

Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Support for nested Datastructures was not implemented correctly before
because only serialise + deserialise was checked but not the actual
serialised output.

Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Also allows fieldnames with starting with a numeric value by prefixing
them with ' x_'.

Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Signed-off-by: Alexander Krimm <alex@wirew0rm.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Signed-off-by: Alexander Krimm <A.Krimm@gsi.de>
Serialisation only, as deserialisation is not possible due to the
IoSerialiser expecting to be able to deduce the type of the field at
compile time via `IoSerialiser<Proto, T>::getTypeId()`.
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
13.8% Coverage on New Code (required ≥ 80%)
10.8% Duplication on New Code (required ≤ 3%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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.

2 participants