Rename ActorConfigured
to ActorService
#193
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Due to the side effect of
options
, now you can see the class names becomeActorConfigured
(e.g.,PolicyConfigured
,ReferenceModelConfigured
).Renaming it to
ActorService
Now the log becomes
Design Choice 1: Why we have to use a subclass:
We make a subclass of the actor class to store a specific ServiceConfig. This allows multiple different configs to coexist. For example:
Both services can run at the same time safely because each call to
options()
creates a separate subclass with its own config. If we skipped the dynamic subclass and just attached the config to the base class, the second call would overwrite the first config, andservice1
would seenum_replicas=4
instead of 2.Design Choice 2: Why we do not make it print the original class name:
We can do it with something like
If there were a bug with the Service spawned version instead of the Actor, it would be harder to diagnose.