Bug 6465 Controller goes into slave mode
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / device / DeviceState.java
index d5e926d8d85d210ed8d1bb27b3f572a17bce4c10..a9f6a1c7900f944d5dca47f55a0a735325b99f7a 100644 (file)
 
 package org.opendaylight.openflowplugin.api.openflow.device;
 
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortGrouping;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 /**
- * Created by Martin Bobak <mbobak@cisco.com> on 25.2.2015.
+ * Holder of device's structure
  */
 public interface DeviceState {
 
     /**
-     * @return id of encapsulated node
-     */
-    NodeId getNodeId();
-
-    /**
-     * @return the features of corresponding switch
-     */
-    GetFeaturesOutput getFeatures();
-
-    /**
-     * @return true if this session is valid
+     * Return true if we have relevant meter information
+     * from device
+     *
+     * @return
      */
-    boolean isValid();
+    boolean isMetersAvailable();
 
     /**
-     * @param valid the valid to set
+     * Set information about meter statistics availability.
      */
-    void setValid(boolean valid);
+    void setMeterAvailable(boolean available);
 
     /**
-     * Returns a map containing all OFPhysicalPorts of this switch.
+     * Return true if we have relevant group information
+     * from device
      *
-     * @return The Map of OFPhysicalPort
+     * @return
      */
-    Map<Long, PortGrouping> getPhysicalPorts();
+    boolean isGroupAvailable();
 
     /**
-     * Returns a map containing all bandwidths for all OFPorts of this switch.
-     *
-     * @return The Map of bandwidths for all OFPorts
+     * Set information about group statistics availability.
      */
-    Map<Long, Long> getPortsBandwidth();
+    void setGroupAvailable(boolean available);
 
     /**
-     * Returns a Set containing all port IDs of this switch.
+     * Method returns true, if device capabilities provides flow statistics.
      *
-     * @return The Set of port ID
+     * @return
      */
-    Set<Long> getPorts();
+    boolean isFlowStatisticsAvailable();
 
-    /**
-     * Returns OFPhysicalPort of the specified portNumber of this switch.
-     *
-     * @param portNumber The port ID
-     * @return OFPhysicalPort for the specified PortNumber
-     */
-    PortGrouping getPhysicalPort(Long portNumber);
+    void setFlowStatisticsAvailable(boolean available);
 
     /**
-     * Returns the bandwidth of the specified portNumber of this switch.
+     * Method returns true, if device capabilities provides table statistics.
      *
-     * @param portNumber the port ID
-     * @return bandwidth
+     * @return
      */
-    Long getPortBandwidth(Long portNumber);
+    boolean isTableStatisticsAvailable();
 
-    /**
-     * Returns True if the port is enabled,
-     *
-     * @param portNumber
-     * @return True if the port is enabled
-     */
-    boolean isPortEnabled(long portNumber);
+    void setTableStatisticsAvailable(boolean available);
 
     /**
-     * Returns True if the port is enabled.
+     * Method returns true, if device capabilities provides flow statistics.
      *
-     * @param port
-     * @return True if the port is enabled
+     * @return
      */
-    boolean isPortEnabled(PortGrouping port);
+    boolean isPortStatisticsAvailable();
 
-    /**
-     * Returns a list containing all enabled ports of this switch.
-     *
-     * @return List containing all enabled ports of this switch
-     */
-    List<PortGrouping> getEnabledPorts();
+    void setPortStatisticsAvailable(boolean available);
 
     /**
-     * @return seed value for random operations
+     * Method returns true, if device capabilities provides queue statistics.
+     *
+     * @return
      */
-    int getSeed();
+    boolean isQueueStatisticsAvailable();
 
+    void setQueueStatisticsAvailable(boolean available);
 }