Added hook to lifecycle events
Ability to listen to actors lifecycles in a plugin.
Motivation:
Plugins give an option to extend system with some logic. Problem is sometimes you need to hook into actor's creation/deletion, which currently is impossible. As an example—for actor recovery we need to restore state when it's created and ready for cluster system, which can be done by some potential EventSourcingJournal.
By adding simple hook protocol we can enable this.
Modifications:
PluginActorLifecycleHookprotocol- additional
actorLifecycleHooksin plugins settings - inside ClusterSystem's
actorReadyandresignIDare called for each hookable plugin added to the system.
Still not sure about PluginActorLifecycleHook name 😅
@swift-server-bot test this please
@swift-server-bot add to allowlist
@swift-server-bot test this please
@swift-server-bot test this please
@ktoso thx for merging main, fixed issue with soundness, now should be fine
Xcode builds consistently timeout:
failed downloading 'https://github.com/apple/swift-protobuf/releases/download/protoc-artifactbundle-v31.1/protoc-31.1.artifactbundle.zip' which is required by binary target 'protoc': downloadError("The request timed out.")