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%2FAbstractClientConnection.java;h=cd81a4e5444ca9b47a1f51a94ff79796afa106a2;hp=21e5f67a74cd1491427e2622d47315fc63ad1ae1;hb=930747a6ba5d888d2fbe54473132680e4621d858;hpb=c74608b67d88d809ebec51c0e84add37a0b98711 diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java index 21e5f67a74..cd81a4e544 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientConnection.java @@ -13,7 +13,7 @@ import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.base.Preconditions; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import java.util.Iterator; +import java.util.Collection; import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -158,28 +158,20 @@ public abstract class AbstractClientConnection { public abstract Optional getBackendInfo(); - final Iterable startReplay() { + final Collection startReplay() { lock.lock(); - return queue.asIterable(); + return queue.drain(); } @GuardedBy("lock") final void finishReplay(final ReconnectForwarder forwarder) { - queue.setForwarder(forwarder); + setForwarder(forwarder); lock.unlock(); } @GuardedBy("lock") final void setForwarder(final ReconnectForwarder forwarder) { - final long now = currentTime(); - final Iterator it = queue.asIterable().iterator(); - while (it.hasNext()) { - final ConnectionEntry e = it.next(); - forwarder.forwardEntry(e, now); - it.remove(); - } - - queue.setForwarder(forwarder); + queue.setForwarder(forwarder, currentTime()); } @GuardedBy("lock")