diff --git a/src/test/java/org/syndicate_lang/actors/example/example2/Forwarder.java b/src/test/java/org/syndicate_lang/actors/example/example2/Forwarder.java index 44b0ddc..5108b5e 100644 --- a/src/test/java/org/syndicate_lang/actors/example/example2/Forwarder.java +++ b/src/test/java/org/syndicate_lang/actors/example/example2/Forwarder.java @@ -21,11 +21,11 @@ public class Forwarder extends Entity { @Override public void message_(Turn turn, Object body) { - if (body instanceof IForwarder.SetPeer op) { - this._peer = op.peer(); - } else if (body instanceof IForwarder.HandleMessage op) { + if (body instanceof IForwarder.HandleMessage op) { Ref target = op.hopCount() >= this._nRounds - 1 ? _main : _peer; turn.message_(target, new IForwarder.HandleMessage(op.hopCount() + 1)); + } else if (body instanceof IForwarder.SetPeer op) { + this._peer = op.peer(); } } } diff --git a/src/test/java/org/syndicate_lang/actors/example/example2/Main.java b/src/test/java/org/syndicate_lang/actors/example/example2/Main.java index 21aa886..46901f2 100644 --- a/src/test/java/org/syndicate_lang/actors/example/example2/Main.java +++ b/src/test/java/org/syndicate_lang/actors/example/example2/Main.java @@ -54,9 +54,7 @@ public class Main extends Entity { @Override public void message_(Turn turn, Object body) { - if (body instanceof IForwarder.SetPeer) { - // Do nothing. - } else if (body instanceof IForwarder.HandleMessage op) { + if (body instanceof IForwarder.HandleMessage op) { this._remainingToReceive--; if (this._remainingToReceive == 0) { double delta = (System.currentTimeMillis() - this._startTime) / 1000.0; @@ -68,6 +66,8 @@ public class Main extends Entity { delta, hz)); } + } else if (body instanceof IForwarder.SetPeer) { + // Do nothing. } } }