blatt03/src/main/java/com/example/GCDReceiver.java
2024-05-05 13:59:59 +02:00

36 lines
935 B
Java

package com.example;
import akka.actor.typed.Behavior;
import akka.actor.typed.javadsl.AbstractBehavior;
import akka.actor.typed.javadsl.ActorContext;
import akka.actor.typed.javadsl.Behaviors;
import akka.actor.typed.javadsl.Receive;
public class GCDReceiver extends AbstractBehavior<GCDReceiver.Message> {
public interface Message {};
public record GCDResult(int result) implements Message { }
public static Behavior<Message> create() {
return Behaviors.setup(GCDReceiver::new);
}
private GCDReceiver(ActorContext<Message> context) {
super(context);
}
@Override
public Receive<Message> createReceive() {
return newReceiveBuilder()
.onMessage(GCDResult.class, this::onResult)
.build();
}
private Behavior<Message> onResult(GCDResult msg) {
getContext().getLog().info("GCD: {}", msg.result);
return this;
}
}