X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FLeaderFrontendState.java;fp=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FLeaderFrontendState.java;h=b37e2d8bf1603f70338e98543b6b5a93fc642d8a;hp=5a5e42637e6a5a4908a23dd85df8abd88589967b;hb=730ff1686220fca0176a8757b4444d63ab2afc44;hpb=9e76b68bb097dc2b53584cad27e3b940e7c41d35 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderFrontendState.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderFrontendState.java index 5a5e42637e..b37e2d8bf1 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderFrontendState.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderFrontendState.java @@ -57,6 +57,8 @@ final class LeaderFrontendState implements Identifiable { private final ClientIdentifier clientId; private final String persistenceId; + private long lastConnectTicks; + private long lastSeenTicks; private long expectedTxSequence; private Long lastSeenHistory = null; @@ -83,6 +85,7 @@ final class LeaderFrontendState implements Identifiable { this.purgedHistories = Preconditions.checkNotNull(purgedHistories); this.standaloneHistory = Preconditions.checkNotNull(standaloneHistory); this.localHistories = Preconditions.checkNotNull(localHistories); + this.lastSeenTicks = tree.readTime(); } @Override @@ -214,6 +217,7 @@ final class LeaderFrontendState implements Identifiable { void reconnect() { expectedTxSequence = 0; + lastConnectTicks = tree.readTime(); } void retire() { @@ -238,9 +242,24 @@ final class LeaderFrontendState implements Identifiable { standaloneHistory.retire(); } + long getLastConnectTicks() { + return lastConnectTicks; + } + + long getLastSeenTicks() { + return lastSeenTicks; + } + + void touch() { + this.lastSeenTicks = tree.readTime(); + } + @Override public String toString() { - return MoreObjects.toStringHelper(LeaderFrontendState.class).add("clientId", clientId) - .add("purgedHistories", purgedHistories).toString(); + return MoreObjects.toStringHelper(LeaderFrontendState.class) + .add("clientId", clientId) + .add("nanosAgo", tree.readTime() - lastSeenTicks) + .add("purgedHistories", purgedHistories) + .toString(); } }