package org.opendaylight.openflowplugin.api.openflow;
import java.util.Collection;
+import java.util.Map;
import org.opendaylight.controller.md.sal.binding.api.BindingService;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
import org.opendaylight.controller.md.sal.binding.api.NotificationService;
+import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService;
import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflowplugin.api.types.rev150327.OfpRole;
/**
- * Created by Martin Bobak <mbobak@cisco.com> on 27.3.2015.
+ * Plugin services provider
*/
public interface OpenFlowPluginProvider extends AutoCloseable, BindingService {
void setNotificationPublishService(NotificationPublishService notificationPublishService);
- /**
- * Method sets role of this application in clustered environment.
- */
- void setRole(OfpRole role);
-
/**
* Method initializes all DeviceManager, RpcManager and related contexts.
*/
void setIsStatisticsPollingOff(final boolean isStatisticsPollingOff);
- }
+ /**
+ * Backward compatibility feature - exposing rpc for statistics polling (result is provided in form of async notification)
+ *
+ * @param isStatisticsRpcEnabled
+ */
+ void setIsStatisticsRpcEnabled(boolean isStatisticsRpcEnabled);
+
+ void setBarrierCountLimit(int barrierCountLimit);
+
+ void setBarrierInterval(long barrierTimeoutLimit);
+
+ void setEchoReplyTimeout(long echoReplyTimeout);
+
+
+ void setNotificationFlowRemovedOff(boolean isNotificationFlowRemovedOff);
+
+ void update(Map<String,Object> props);
+ void setClusteringSingletonServicesProvider(ClusterSingletonServiceProvider singletonServicesProvider);
+}