import io.netty.util.Timeout;
import io.netty.util.TimerTask;
import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
+import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
import org.opendaylight.openflowplugin.api.openflow.device.DeviceManager;
+import org.opendaylight.openflowplugin.api.openflow.statistics.StatisticsManager;
import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageIntelligenceAgency;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
/**
* Returns device context from device manager device contexts maps
- * @param nodeId node identification
- * @return null if context doesn't exists
+ *
+ * @param deviceInfo@return null if context doesn't exists
*/
- DeviceContext getDeviceContext(final NodeId nodeId);
+ DeviceContext getDeviceContext(DeviceInfo deviceInfo);
/**
* Registers ont time listener for notify when services rpc, statistics are done stop or start
* @param manager service change listener
- * @param nodeId node identification
+ * @param deviceInfo node identification
*/
- void addOneTimeListenerWhenServicesChangesDone(final ServiceChangeListener manager, final NodeId nodeId);
+ void addOneTimeListenerWhenServicesChangesDone(final ServiceChangeListener manager, final DeviceInfo deviceInfo);
/**
* Returns device of version
- * @param nodeId node identification
+ * @param deviceInfo node identification
* @return null if device context doesn't exists
*/
- Short gainVersionSafely(final NodeId nodeId);
+ Short gainVersionSafely(final DeviceInfo deviceInfo);
/**
* Set new timeout for {@link io.netty.util.HashedWheelTimer}
/**
* Interrupt connection for the node
- * @param nodeId node identification
+ * @param deviceInfo node identification
*/
- void closeConnection(final NodeId nodeId);
+ void closeConnection(final DeviceInfo deviceInfo);
/**
* Setter for device manager once set it cant be unset or overwritten
*/
void setSafelyDeviceManager(final DeviceManager deviceManager);
+ /**
+ * Setter for statistics manager once set it cant be unset or overwritten
+ * @param statisticsManager should be set in OpenFlowPluginProviderImpl
+ */
+ void setSafelyStatisticsManager(final StatisticsManager statisticsManager);
+
/**
* Xid from outboundqueue
- * @param nodeId
+ * @param deviceInfo
* @return
*/
- Long reserveXidForDeviceMessage(final NodeId nodeId);
+ Long reserveXidForDeviceMessage(final DeviceInfo deviceInfo);
}