void setSkipTableFeatures(boolean skipTableFeatures);
+ void setBarrierCountLimit(int barrierCountLimit);
+
+ void setBarrierInterval(long barrierTimeoutLimit);
+
}
#Flag exposing backward compatible statistics rpcs providing result in form of async notification
#deprecated usage
#requires to be configured before switch connection, else require a switch restar
-is-statistics-rpc-enabled=false
\ No newline at end of file
+is-statistics-rpc-enabled=false
+#Timeout interval in milliseconds between each barrier message.
+#requires to be configured before switch connection, else require a switch restart
+barrier-interval-timeout-limit=500
+#Maximum outbound queue depth
+#requires to be configured before switch connection, else require a switch restart
+barrier-count-limit=25600
if(rpcManager != null && props.containsKey("is-statistics-rpc-enabled")){
rpcManager.setStatisticsRpcEnabled(Boolean.valueOf((props.get("is-statistics-rpc-enabled").toString())));
}
+ if(deviceManager != null && props.containsKey("barrier-count-limit")){
+ deviceManager.setBarrierCountLimit(Integer.valueOf(props.get("barrier-count-limit").toString()));
+ }
+ if(deviceManager !=null && props.containsKey("barrier-interval-timeout-limit")){
+ deviceManager.setBarrierInterval(Long.valueOf(props.get("barrier-interval-timeout-limit").toString()));
+ }
}
private static void registerMXBean(final MessageIntelligenceAgency messageIntelligenceAgency) {
private final ConcurrentMap<DeviceInfo, DeviceContext> deviceContexts = new ConcurrentHashMap<>();
private final ConcurrentMap<DeviceInfo, LifecycleService> lifecycleServices = new ConcurrentHashMap<>();
- private final long barrierIntervalNanos;
- private final int barrierCountLimit;
+ private long barrierIntervalNanos;
+ private int barrierCountLimit;
private ExtensionConverterProvider extensionConverterProvider;
private ScheduledThreadPoolExecutor spyPool;
skipTableFeatures = skipTableFeaturesValue;
}
+ @Override
+ public void setBarrierCountLimit(final int barrierCountLimit) {
+ this.barrierCountLimit = barrierCountLimit;
+ }
+
+ @Override
+ public void setBarrierInterval(final long barrierTimeoutLimit) {
+ this.barrierIntervalNanos = TimeUnit.MILLISECONDS.toNanos(barrierTimeoutLimit);
+ }
+
}