private static final int TICKS_PER_WHEEL = 500;
// 0.5 sec.
private static final long TICK_DURATION = 10;
+ private static final Integer DEFAULT_BARRIER_COUNT = 25600;
+ private static final Long DEFAULT_ECHO_TIMEOUT = 2000L;
+ private static final Long DEFAULT_BARRIER_TIMEOUT = 500L;
private final HashedWheelTimer hashedWheelTimer = new HashedWheelTimer(TICK_DURATION, TimeUnit.MILLISECONDS, TICKS_PER_WHEEL);
private DataBroker dataBroker;
private Collection<SwitchConnectionProvider> switchConnectionProviders;
private boolean switchFeaturesMandatory = false;
- private boolean isStatisticsPollingOff = false;
+ private boolean isStatisticsPollingOn = true;
private boolean isStatisticsRpcEnabled;
- private boolean isNotificationFlowRemovedOff = false;
+ private boolean isFlowRemovedNotificationOn = true;
private boolean skipTableFeatures = true;
private final ThreadPoolExecutor threadPool;
}
@Override
- public boolean isStatisticsPollingOff() {
- return isStatisticsPollingOff;
+ public boolean isStatisticsPollingOn() {
+ return isStatisticsPollingOn;
}
@Override
- public void setIsStatisticsPollingOff(final boolean isStatisticsPollingOff) {
- this.isStatisticsPollingOff = isStatisticsPollingOff;
+ public void setStatisticsPollingOn(final boolean isStatisticsPollingOn) {
+ this.isStatisticsPollingOn = isStatisticsPollingOn;
}
private void startSwitchConnections() {
}
@Override
- public void setNotificationFlowRemovedOff(boolean isNotificationFlowRemovedOff) {
- this.isNotificationFlowRemovedOff = isNotificationFlowRemovedOff;
+ public void setFlowRemovedNotification(boolean isFlowRemovedNotificationOn) {
+ this.isFlowRemovedNotificationOn = this.isFlowRemovedNotificationOn;
}
@Override
@Override
public void setSkipTableFeatures(final boolean skipTableFeatures){
- this.skipTableFeatures = skipTableFeatures;
+ this.skipTableFeatures = skipTableFeatures;
}
@Override
barrierInterval,
barrierCountLimit,
getMessageIntelligenceAgency(),
- isNotificationFlowRemovedOff,
+ isFlowRemovedNotificationOn,
singletonServicesProvider,
notificationPublishService,
hashedWheelTimer,
((ExtensionConverterProviderKeeper) deviceManager).setExtensionConverterProvider(extensionConverterManager);
rpcManager = new RpcManagerImpl(rpcProviderRegistry, rpcRequestsQuota, extensionConverterManager, convertorManager, notificationPublishService);
- statisticsManager = new StatisticsManagerImpl(rpcProviderRegistry, isStatisticsPollingOff, hashedWheelTimer, convertorManager);
+ statisticsManager = new StatisticsManagerImpl(rpcProviderRegistry, isStatisticsPollingOn, hashedWheelTimer, convertorManager);
/* Initialization Phase ordering - OFP Device Context suite */
// CM -> DM -> SM -> RPC -> Role -> DM
@Override
public void update(Map<String,Object> props) {
LOG.debug("Update managed properties = {}", props.toString());
- if(deviceManager != null && props.containsKey("notification-flow-removed-off")) {
- deviceManager.setIsNotificationFlowRemovedOff(Boolean.valueOf(props.get("notification-flow-removed-off").toString()));
- }
- if(deviceManager != null && props.containsKey("skip-table-features")) {
- deviceManager.setSkipTableFeatures(Boolean.valueOf(props.get("skip-table-features").toString()));
+
+ if(deviceManager != null) {
+ if (props.containsKey("notification-flow-removed-off")) {
+ deviceManager.setFlowRemovedNotificationOn(Boolean.valueOf(props.get("enable-flow-removed-notification").toString()));
+ }
+ if (props.containsKey("skip-table-features")) {
+ deviceManager.setSkipTableFeatures(Boolean.valueOf(props.get("skip-table-features").toString()));
+ }
+ if (props.containsKey("barrier-count-limit")) {
+ try {
+ deviceManager.setBarrierCountLimit(Integer.valueOf(props.get("barrier-count-limit").toString()));
+ } catch (NumberFormatException ex) {
+ deviceManager.setBarrierCountLimit(DEFAULT_BARRIER_COUNT);
+ }
+ }
+ if (props.containsKey("barrier-interval-timeout-limit")){
+ try {
+ deviceManager.setBarrierInterval(Long.valueOf(props.get("barrier-interval-timeout-limit").toString()));
+ } catch (NumberFormatException ex) {
+ deviceManager.setBarrierInterval(DEFAULT_BARRIER_TIMEOUT);
+ }
+ }
}
+
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()));
- }
+
if (connectionManager != null && props.containsKey("echo-reply-timeout") ){
- connectionManager.setEchoReplyTimeout(Long.valueOf(props.get("echo-reply-timeout").toString()));
+ try {
+ connectionManager.setEchoReplyTimeout(Long.valueOf(props.get("echo-reply-timeout").toString()));
+ }catch (NumberFormatException ex){
+ connectionManager.setEchoReplyTimeout(DEFAULT_ECHO_TIMEOUT);
+ }
}
- if(statisticsManager != null && props.containsKey("is-statistics-polling-off")){
- statisticsManager.setIsStatisticsPollingOff(Boolean.valueOf(props.get("is-statistics-polling-off").toString()));
+ if(statisticsManager != null && props.containsKey("is-statistics-polling-on")){
+ statisticsManager.setIsStatisticsPollingOn(Boolean.valueOf(props.get("is-statistics-polling-on").toString()));
}
}
// Manually shutdown all remaining running threads in pool
threadPool.shutdown();
}
-}
+}
\ No newline at end of file