X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Frepository%2FService.java;h=f0863a5ee7e44f709f47da111f612ee2540def6a;hb=dede1d28c8f37bb21fae806f00f8315b923670c1;hp=6a26b98e5302ab97b5b730fa7712756bfce916e9;hpb=7adad623a64bfbb96b3c73ed7c1d0d49aabff659;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Service.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Service.java index 6a26b98e..f0863a5e 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Service.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Service.java @@ -17,28 +17,29 @@ * limitations under the License. * ========================LICENSE_END=================================== */ + package org.oransc.policyagent.repository; import java.time.Duration; import java.time.Instant; +import lombok.Getter; + public class Service { + @Getter private final String name; private final Duration keepAliveInterval; private Instant lastPing; - // private final String callbackUrl1; // TBD + private final String callbackUrl; - public Service(String name, Duration keepAliveInterval) { + public Service(String name, Duration keepAliveInterval, String callbackUrl) { this.name = name; this.keepAliveInterval = keepAliveInterval; + this.callbackUrl = callbackUrl; ping(); } - public String getName() { - return this.name; - } - - public Duration getKeepAliveInterval() { + public synchronized Duration getKeepAliveInterval() { return this.keepAliveInterval; } @@ -47,11 +48,15 @@ public class Service { } public synchronized boolean isExpired() { - return timeSinceLastPing().compareTo(this.keepAliveInterval) > 0; + return this.keepAliveInterval.getSeconds() > 0 && timeSinceLastPing().compareTo(this.keepAliveInterval) > 0; } public synchronized Duration timeSinceLastPing() { return Duration.between(this.lastPing, Instant.now()); } + public synchronized String getCallbackUrl() { + return this.callbackUrl; + } + }