From fff56adeda975a76f441425d9c650dd93e19ae1c Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Fri, 25 Nov 2016 08:43:57 +0100 Subject: HONEYCOMB-277 - Keep-alive timeout exported Timeout exported to configurable property Change-Id: Ic095469be4d95f6726fdcabe17a6d2e4e51ba856 Signed-off-by: Jan Srnicek --- .../io/fd/hc2vpp/v3po/VppStateHoneycombReaderFactory.java | 12 ++++++++---- .../java/io/fd/hc2vpp/v3po/cfgattrs/V3poConfiguration.java | 8 ++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'v3po/v3po2vpp/src/main/java/io/fd/hc2vpp') diff --git a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/VppStateHoneycombReaderFactory.java b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/VppStateHoneycombReaderFactory.java index 03da2c755..8fcad8f49 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/VppStateHoneycombReaderFactory.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/VppStateHoneycombReaderFactory.java @@ -18,6 +18,10 @@ package io.fd.hc2vpp.v3po; import com.google.inject.Inject; import com.google.inject.name.Named; +import io.fd.hc2vpp.common.translate.util.NamingContext; +import io.fd.hc2vpp.common.translate.util.ReadTimeoutException; +import io.fd.hc2vpp.common.translate.util.VppStatusListener; +import io.fd.hc2vpp.v3po.cfgattrs.V3poConfiguration; import io.fd.hc2vpp.v3po.vppstate.BridgeDomainCustomizer; import io.fd.hc2vpp.v3po.vppstate.L2FibEntryCustomizer; import io.fd.hc2vpp.v3po.vppstate.VersionCustomizer; @@ -26,9 +30,6 @@ import io.fd.honeycomb.translate.impl.read.GenericReader; import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import io.fd.honeycomb.translate.util.read.KeepaliveReaderWrapper; -import io.fd.hc2vpp.common.translate.util.NamingContext; -import io.fd.hc2vpp.common.translate.util.ReadTimeoutException; -import io.fd.hc2vpp.common.translate.util.VppStatusListener; import io.fd.vpp.jvpp.core.future.FutureJVppCore; import java.util.concurrent.ScheduledExecutorService; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.VppState; @@ -50,6 +51,9 @@ public final class VppStateHoneycombReaderFactory implements ReaderFactory { private final ScheduledExecutorService keepaliveExecutor; private final VppStatusListener vppStatusListener; + @Inject + private V3poConfiguration v3poConfiguration; + @Inject public VppStateHoneycombReaderFactory(final FutureJVppCore jVpp, @Named("interface-context") final NamingContext ifcCtx, @@ -73,7 +77,7 @@ public final class VppStateHoneycombReaderFactory implements ReaderFactory { // Relying on VersionCustomizer to provide a "timing out read" registry.add(new KeepaliveReaderWrapper<>( new GenericReader<>(vppStateId.child(Version.class), new VersionCustomizer(jVpp)), - keepaliveExecutor, ReadTimeoutException.class, 30, vppStatusListener)); + keepaliveExecutor, ReadTimeoutException.class, v3poConfiguration.getKeepaliveDelay(), vppStatusListener)); // BridgeDomains(Structural) final InstanceIdentifier bridgeDomainsId = vppStateId.child(BridgeDomains.class); registry.addStructuralReader(bridgeDomainsId, BridgeDomainsBuilder.class); diff --git a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/cfgattrs/V3poConfiguration.java b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/cfgattrs/V3poConfiguration.java index 6676956d8..f7b52accd 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/cfgattrs/V3poConfiguration.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/cfgattrs/V3poConfiguration.java @@ -17,8 +17,16 @@ package io.fd.hc2vpp.v3po.cfgattrs; import net.jmob.guice.conf.core.BindConfig; +import net.jmob.guice.conf.core.InjectConfig; import net.jmob.guice.conf.core.Syntax; @BindConfig(value = "v3po", syntax = Syntax.JSON) public class V3poConfiguration { + + @InjectConfig("keepalive-delay") + private String keepaliveDelay; + + public int getKeepaliveDelay() { + return Integer.valueOf(this.keepaliveDelay); + } } -- cgit 1.2.3-korg