X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=replicate%2Fmdsal-replicate-netty%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Freplicate%2Fnetty%2FNettyReplication.java;h=14aed6437aa23fe9f5e7b4b8af71f80b6410f035;hb=b94fbc60c0b41da2f6645ab51188fbcdfa74e4af;hp=7e396e8ba46cbfae17921116be8e91db6423df17;hpb=d7b666857c54c07d9bf5c8e5e38671151d89fb4c;p=mdsal.git diff --git a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/NettyReplication.java b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/NettyReplication.java index 7e396e8ba4..14aed6437a 100644 --- a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/NettyReplication.java +++ b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/NettyReplication.java @@ -7,6 +7,7 @@ */ package org.opendaylight.mdsal.replicate.netty; +import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Verify.verify; import java.net.InetAddress; @@ -17,8 +18,12 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; import org.opendaylight.yangtools.concepts.AbstractRegistration; import org.opendaylight.yangtools.concepts.Registration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public final class NettyReplication { + private static final Logger LOG = LoggerFactory.getLogger(NettyReplication.class); + private static final class Disabled extends AbstractRegistration { @Override protected void removeRegistration() { @@ -32,17 +37,23 @@ public final class NettyReplication { public static Registration createSink(final BootstrapSupport bootstrapSupport, final DOMDataBroker dataBroker, final ClusterSingletonServiceProvider singletonService, final boolean enabled, - final InetAddress sourceAddress, final int sourcePort, final Duration reconnectDelay) { + final InetAddress sourceAddress, final int sourcePort, final Duration reconnectDelay, + final Duration keepaliveInterval, final int maxMissedKeepalives) { + LOG.debug("Sink {}", enabled ? "enabled" : "disabled"); + checkArgument(maxMissedKeepalives > 0, "max-missed-keepalives %s must be greater than 0", maxMissedKeepalives); return enabled ? singletonService.registerClusterSingletonService(new SinkSingletonService(bootstrapSupport, - dataBroker, new InetSocketAddress(sourceAddress, sourcePort), reconnectDelay)) : new Disabled(); + dataBroker, new InetSocketAddress(sourceAddress, sourcePort), reconnectDelay, keepaliveInterval, + maxMissedKeepalives)) : new Disabled(); } public static Registration createSource(final BootstrapSupport bootstrapSupport, final DOMDataBroker dataBroker, - final ClusterSingletonServiceProvider singletonService, final boolean enabled, final int listenPort) { + final ClusterSingletonServiceProvider singletonService, final boolean enabled, final int listenPort, + final Duration keepaliveInterval, final int maxMissedKeepalives) { + LOG.debug("Source {}", enabled ? "enabled" : "disabled"); final DOMDataTreeChangeService dtcs = dataBroker.getExtensions().getInstance(DOMDataTreeChangeService.class); verify(dtcs != null, "Missing DOMDataTreeChangeService in broker %s", dataBroker); - + checkArgument(maxMissedKeepalives > 0, "max-missed-keepalives %s must be greater than 0", maxMissedKeepalives); return enabled ? singletonService.registerClusterSingletonService(new SourceSingletonService(bootstrapSupport, - dtcs, listenPort)) : new Disabled(); + dtcs, listenPort, keepaliveInterval, maxMissedKeepalives)) : new Disabled(); } }