feature: synchronization of states from state-keeper to state-provider #2

Open
opened 2025-10-11 14:34:49 +02:00 by Fritz · 0 comments
Owner

The architecture of doord is based on separation of concerns, which is realized through the separation of the components doord and doord-agent. The doord component centrally manages and realizes states, which are provided by the doord-agent component. This perfect separation is disturbed by the indication function of doord-agent, which presents the current state to the user.

Presently, this leads to the problem that this indication is only updated when state changes are induced by a specific doord-agent instance. However, the overall architecture is intended to accommodate multiple doord-agent instances, which are allowed to act on the same state. This calls for an implementation of state synchronization between the doord and doord-agent components.

A (simple) technical solution would be the following:

  • The doord component listens on a TCP port.
  • Each state-synchronizing doord-agent component connects to that TCP port.
  • The doord component notifies each connection on that TCP port of state changes.
The architecture of doord is based on separation of concerns, which is realized through the separation of the components doord and doord-agent. The doord component centrally manages and realizes states, which are provided by the doord-agent component. This perfect separation is disturbed by the indication function of doord-agent, which presents the current state to the user. Presently, this leads to the problem that this indication is only updated when state changes are induced by a specific doord-agent instance. However, the overall architecture is intended to accommodate multiple doord-agent instances, which are allowed to act on the same state. This calls for an implementation of state synchronization between the doord and doord-agent components. A (simple) technical solution would be the following: * The doord component listens on a TCP port. * Each state-synchronizing doord-agent component connects to that TCP port. * The doord component notifies each connection on that TCP port of state changes.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Fritz/doord2#2
No description provided.