Skip to content

Implement StateMachine for plugin lifecycle management#2120

Draft
bramoosterhuis wants to merge 3 commits into
masterfrom
development/plugin-server-service-state-machine
Draft

Implement StateMachine for plugin lifecycle management#2120
bramoosterhuis wants to merge 3 commits into
masterfrom
development/plugin-server-service-state-machine

Conversation

@bramoosterhuis
Copy link
Copy Markdown
Contributor

  • Introduced a StateMachine class to manage the lifecycle states of plugins, including DEACTIVATED, PRECONDITION, ACTIVATED, HIBERNATED, and UNAVAILABLE.
  • Defined stable and transient states with clear guarantees for callbacks during state transitions.
  • Added detailed documentation for state transitions, callback guarantees, reentrancy, and crash handling.
  • Refactored existing plugin state handling to utilize the new StateMachine, improving clarity and maintainability.
  • Updated the Service class to integrate the StateMachine and handle state change notifications.
  • Removed redundant locks and streamlined the Evaluate method to leverage the StateMachine's re-evaluation capabilities.

- Introduced a StateMachine class to manage the lifecycle states of plugins, including DEACTIVATED, PRECONDITION, ACTIVATED, HIBERNATED, and UNAVAILABLE.
- Defined stable and transient states with clear guarantees for callbacks during state transitions.
- Added detailed documentation for state transitions, callback guarantees, reentrancy, and crash handling.
- Refactored existing plugin state handling to utilize the new StateMachine, improving clarity and maintainability.
- Updated the Service class to integrate the StateMachine and handle state change notifications.
- Removed redundant locks and streamlined the Evaluate method to leverage the StateMachine's re-evaluation capabilities.
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.

1 participant