LightArrayRevolverScheduler, see #2904
- based on a wheel (AtomicReferenceArray) from which atomic single-linked lists dangle - no locks - deterministic tests due to overridable time source - also bring docs up to date
This commit is contained in:
parent
9f2a0afc05
commit
8dea20a1f1
20 changed files with 863 additions and 202 deletions
|
|
@ -5,6 +5,7 @@ import java.util.concurrent.TimeoutException;
|
|||
import scala.concurrent.Future;
|
||||
import scala.concurrent.duration.Duration;
|
||||
|
||||
import akka.actor.Actor;
|
||||
import akka.actor.ActorKilledException;
|
||||
import akka.actor.ActorRef;
|
||||
import akka.actor.ActorRefFactory;
|
||||
|
|
@ -79,7 +80,7 @@ public class SupervisedAsk {
|
|||
targetActor.forward(askParam.message, getContext());
|
||||
Scheduler scheduler = getContext().system().scheduler();
|
||||
timeoutMessage = scheduler.scheduleOnce(askParam.timeout.duration(),
|
||||
self(), new AskTimeout(), context().dispatcher());
|
||||
self(), new AskTimeout(), context().dispatcher(), null);
|
||||
} else if (message instanceof Terminated) {
|
||||
Throwable ex = new ActorKilledException("Target actor terminated.");
|
||||
caller.tell(new Status.Failure(ex), self());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue