X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fclient%2FClientActorContext.java;fp=opendaylight%2Fmd-sal%2Fcds-access-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fclient%2FClientActorContext.java;h=3ed207ef6f393c5b84b8c4641b39099758d7df57;hb=b5db7d0971de9d84289bc4e46ed7aad1f014a41a;hp=5520359802b3170dd278bd8b66a8b349f712edf5;hpb=47f9449f977820bc605bafa23e81ee2efe6d9f37;p=controller.git diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorContext.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorContext.java index 5520359802..3ed207ef6f 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorContext.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/ClientActorContext.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.access.client; import akka.actor.ActorRef; +import akka.actor.ActorSystem; import akka.actor.Cancellable; import akka.actor.Scheduler; import com.google.common.annotations.Beta; @@ -16,6 +17,7 @@ import com.google.common.base.Ticker; import javax.annotation.Nonnull; import javax.annotation.concurrent.ThreadSafe; import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; +import org.opendaylight.controller.cluster.common.actor.Dispatchers; import org.opendaylight.yangtools.concepts.Identifiable; import scala.concurrent.ExecutionContext; import scala.concurrent.duration.FiniteDuration; @@ -36,15 +38,17 @@ public class ClientActorContext extends AbstractClientActorContext implements Id private final ExecutionContext executionContext; private final ClientIdentifier identifier; private final Scheduler scheduler; + private final Dispatchers dispatchers; private final ClientActorConfig config; // Hidden to avoid subclassing - ClientActorContext(final ActorRef self, final Scheduler scheduler, final ExecutionContext executionContext, - final String persistenceId, final ClientIdentifier identifier, final ClientActorConfig config) { + ClientActorContext(final ActorRef self, final String persistenceId, final ActorSystem system, + final ClientIdentifier identifier, final ClientActorConfig config) { super(self, persistenceId); this.identifier = Preconditions.checkNotNull(identifier); - this.scheduler = Preconditions.checkNotNull(scheduler); - this.executionContext = Preconditions.checkNotNull(executionContext); + this.scheduler = Preconditions.checkNotNull(system).scheduler(); + this.executionContext = system.dispatcher(); + this.dispatchers = new Dispatchers(system.dispatchers()); this.config = Preconditions.checkNotNull(config); } @@ -59,6 +63,11 @@ public class ClientActorContext extends AbstractClientActorContext implements Id return config; } + @Nonnull + public Dispatchers dispatchers() { + return dispatchers; + } + /** * Return the time ticker for this {@link ClientActorContext}. This should be used for in all time-tracking * done within a client actor. Subclasses of {@link ClientActorBehavior} are encouraged to use