-
- private class SwitchBehaviorSupplier implements Supplier<RaftActorBehavior> {
- private Object message;
- private ActorRef sender;
-
- public SwitchBehaviorSupplier handleMessage(ActorRef sender, Object message){
- this.sender = sender;
- this.message = message;
- return this;
- }
-
- @Override
- public RaftActorBehavior get() {
- if(this.message instanceof SwitchBehavior){
- return AbstractRaftActorBehavior.createBehavior(context, ((SwitchBehavior) message).getNewState());
- }
- return getCurrentBehavior().handleMessage(sender, message);
- }
- }