FlowHash renamed to FlowRegistryKey
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / registry / flow / DeviceFlowRegistry.java
index 74a66f1499bea296c24650f5a197f884809b1135..ab4da891c03710cddda8f6cdcbde7b1d8e89cf84 100644 (file)
@@ -10,19 +10,25 @@ package org.opendaylight.openflowplugin.api.openflow.registry.flow;
 
 
 import java.util.Map;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId;
 
 /**
  * Created by Martin Bobak <mbobak@cisco.com> on 8.4.2015.
  */
-public interface DeviceFlowRegistry {
+public interface DeviceFlowRegistry extends AutoCloseable {
 
-    FlowDescriptor retrieveIdForFlow(FlowHash flowHash) throws FlowRegistryException;
+    FlowDescriptor retrieveIdForFlow(FlowRegistryKey flowRegistryKey);
 
-    void store(FlowHash flowHash, FlowDescriptor flowDescriptor);
+    void store(FlowRegistryKey flowRegistryKey, FlowDescriptor flowDescriptor);
 
-    void markToBeremoved(FlowHash flowHash);
+    FlowId storeIfNecessary(FlowRegistryKey flowRegistryKey, short tableId);
+
+    void markToBeremoved(FlowRegistryKey flowRegistryKey);
 
     void removeMarked();
 
-    Map<FlowHash, FlowDescriptor> getAllFlowDescriptors();
+    Map<FlowRegistryKey, FlowDescriptor> getAllFlowDescriptors();
+
+    @Override
+    void close();
 }