I suppose that the existence of a race condition is clear:
- A real race where a late device response can overwrite a newer command
- A second change made while the first push_state_update() is awaiting can be silently dropped
The solution is simple: split new (set) properties and received. It is clearer code, better architecture.
However, it is a significant change.
PS: I can do it but let's commit buzzer first.
I suppose that the existence of a race condition is clear:
The solution is simple: split new (set) properties and received. It is clearer code, better architecture.
However, it is a significant change.
PS: I can do it but let's commit buzzer first.