X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fclient%2FBackendInfoResolver.java;h=5c5cda5bae0b8f7eb2e4bb02bd827e47c234c07b;hp=e4aa2b1e75e267e1f6b4599c1e5c6347153e3c81;hb=HEAD;hpb=320a4e5cd2d9d80468a3f82798744f2035488218 diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfoResolver.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfoResolver.java index e4aa2b1e75..5c5cda5bae 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfoResolver.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfoResolver.java @@ -9,7 +9,9 @@ package org.opendaylight.controller.cluster.access.client; import akka.actor.ActorRef; import java.util.concurrent.CompletionStage; -import javax.annotation.Nonnull; +import java.util.function.Consumer; +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.yangtools.concepts.Registration; /** * Caching resolver which resolves a cookie to a leader {@link ActorRef}. This class needs to be specialized by the @@ -17,17 +19,23 @@ import javax.annotation.Nonnull; * by either the client actor (when a message timeout is detected) and by the specific frontend (on explicit * invalidation or when updated information becomes available). * + *
+ * If the completion stage returned by this interface's methods fails with a
+ * {@link org.opendaylight.controller.cluster.access.concepts.RequestException}, it will be forwarded to all
+ * outstanding requests towards the leader. If it fails with a {@link java.util.concurrent.TimeoutException},
+ * resolution process will be retried. If it fails with any other cause, it will we wrapped as a
+ * {@link org.opendaylight.controller.cluster.access.concepts.RuntimeRequestException} wrapping that cause.
+ *
* @author Robert Varga
*/
-public abstract class BackendInfoResolver