This commit is contained in:
JasterV 2025-06-05 22:10:19 +02:00
commit 93ec842720

View file

@ -64,6 +64,7 @@ firmware.door_server -> hardware: lock {style.animated: true}
firmware.lights -> hardware: set_lights_red {style.animated: true} firmware.lights -> hardware: set_lights_red {style.animated: true}
firmware.notifications -> third_party_notifications_service: send_notification {style.animated: true} firmware.notifications -> third_party_notifications_service: send_notification {style.animated: true}
``` ```
</div> </div>
In this post we will focus on the firmware layer, more specifically in the Door server, its implementation and tests. In this post we will focus on the firmware layer, more specifically in the Door server, its implementation and tests.
@ -442,9 +443,11 @@ We've also seen how tests become simpler due to the fact that each test suite be
There are some drawbacks though: There are some drawbacks though:
- Debugging becomes harder. - Debugging becomes harder.
- You are introducing an extra of asynchronous broadcast messaging and therefore your elixir processes become harder to debug. - You are introducing an extra of asynchronous broadcast messaging and therefore your elixir processes become harder to debug.
- Event delivery is not ensured. - Event delivery is not ensured.
- If a subscriber goes down, Phoenix PubSub won't try to re-deliver lost events once the process restarts. - If a subscriber goes down, Phoenix PubSub won't try to re-deliver lost events once the process restarts.
- Depending on your situation you might want to implement a more complex pub-sub system that does its best to ensure event delivery. - Depending on your situation you might want to implement a more complex pub-sub system that does its best to ensure event delivery.