Fixing topology related interface/class tree
- (Mutable)Topology no longer implements ImmutableTopology
--- BaseTopology (was ImmutableTopology)
|
+-- ImmutableTopology (new)
|
+-- MutableTopology (was Topology)
|
+-- RefreshableTopology
|
+-- TopologyInternal
This interface is placed in wrong place. To be fixed later.
Change-Id: Ifa9defcc7c0fc22bba19977fe4ea57eaf792275e
diff --git a/src/main/java/net/onrc/onos/core/topology/ImmutableTopology.java b/src/main/java/net/onrc/onos/core/topology/ImmutableTopology.java
index 0f7ab96..ed5678e 100644
--- a/src/main/java/net/onrc/onos/core/topology/ImmutableTopology.java
+++ b/src/main/java/net/onrc/onos/core/topology/ImmutableTopology.java
@@ -1,216 +1,10 @@
package net.onrc.onos.core.topology;
-import java.util.Collection;
-
-import net.floodlightcontroller.util.MACAddress;
-import net.onrc.onos.core.util.Dpid;
-import net.onrc.onos.core.util.PortNumber;
-import net.onrc.onos.core.util.SwitchPort;
-
+//TODO move to appropriate package under api
/**
- * ImmutableTopology.
+ * ImmutableTopology, which could be accessed without locking, etc.
*/
-public interface ImmutableTopology {
+public interface ImmutableTopology extends BaseTopology {
- /**
- * Gets the switch for a given switch DPID.
- *
- * @param dpid the switch dpid.
- * @return the switch if found, otherwise null.
- */
- public Switch getSwitch(Dpid dpid);
-
- /**
- * Gets all switches in the network.
- *
- * @return all switches in the network.
- */
- public Iterable<Switch> getSwitches();
-
- /**
- * Gets the port on a switch.
- *
- * @param dpid the switch DPID.
- * @param portNumber the switch port number.
- * @return the switch port if found, otherwise null.
- */
- public Port getPort(Dpid dpid, PortNumber portNumber);
-
- /**
- * Gets the port on a switch.
- *
- * @param port port identifier
- * @return the switch port if found, otherwise null.
- */
- public Port getPort(SwitchPort port);
-
- /**
- * Gets all ports on a switch specified.
- *
- * @param dpid Switch dpid
- * @return ports.
- */
- public Collection<Port> getPorts(Dpid dpid);
-
- /**
- * Gets the outgoing link from a switch port.
- * <p/>
- * FIXME As a temporary workaround, it will look for type "packet" and
- * returns it if found, else return whichever link is found first.
- *
- * @param dpid the switch DPID.
- * @param portNumber the switch port number.
- * @return the outgoing link if found, otherwise null.
- */
- public Link getOutgoingLink(Dpid dpid, PortNumber portNumber);
-
- /**
- * Gets the outgoing link from a switch port.
- *
- * @param dpid the switch DPID.
- * @param portNumber the switch port number.
- * @param type type of the link
- * @return the outgoing link if found, otherwise null.
- */
- public Link getOutgoingLink(Dpid dpid, PortNumber portNumber, String type);
-
- /**
- * Gets the outgoing link from a switch port.
- * <p/>
- * FIXME As a temporary workaround, it will look for type "packet" and
- * returns it if found, else return whichever link is found first.
- *
- * @param port port identifier
- * @return the outgoing link if found, otherwise null.
- */
- public Link getOutgoingLink(SwitchPort port);
-
- /**
- * Gets the outgoing link from a switch port.
- *
- * @param port port identifier
- * @param type type of the link
- * @return the outgoing link if found, otherwise null.
- */
- public Link getOutgoingLink(SwitchPort port, String type);
-
- /**
- * Gets all the outgoing link from a switch port.
- *
- * @param port port identifier
- * @return outgoing links
- */
- public Collection<Link> getOutgoingLinks(SwitchPort port);
-
- /**
- * Gets the incoming link to a switch port.
- * <p/>
- * FIXME As a temporary workaround, it will look for type "packet" and
- * returns it if found, else return whichever link is found first.
- *
- * @param dpid the switch DPID.
- * @param portNumber the switch port number.
- * @return the incoming link if found, otherwise null.
- */
- public Link getIncomingLink(Dpid dpid, PortNumber portNumber);
-
- /**
- * Gets the incoming link to a switch port.
- * <p/>
- * FIXME As a temporary workaround, it will look for type "packet" and
- * returns it if found, else return whichever link is found first.
- *
- * @param dpid the switch DPID.
- * @param portNumber the switch port number.
- * @param type type of the link
- * @return the incoming link if found, otherwise null.
- */
- public Link getIncomingLink(Dpid dpid, PortNumber portNumber, String type);
-
- /**
- * Gets the incoming link to a switch port.
- * <p/>
- * FIXME As a temporary workaround, it will look for type "packet" and
- * returns it if found, else return whichever link is found first.
- *
- * @param port port identifier
- * @return the incoming link if found, otherwise null.
- */
- public Link getIncomingLink(SwitchPort port);
-
- /**
- * Gets the incoming link to a switch port.
- *
- * @param port port identifier
- * @param type type of the link
- * @return the incoming link if found, otherwise null.
- */
- public Link getIncomingLink(SwitchPort port, String type);
-
- /**
- * Gets all the incoming link from a switch port.
- *
- * @param port port identifier
- * @return incoming links
- */
- public Collection<Link> getIncomingLinks(SwitchPort port);
-
- /**
- * Gets the outgoing link from a switch and a port to another switch and
- * a port.
- *
- * @param srcDpid the source switch DPID.
- * @param srcPortNumber the source switch port number.
- * @param dstDpid the destination switch DPID.
- * @param dstPortNumber the destination switch port number.
- * @return the outgoing link if found, otherwise null.
- */
- public Link getLink(Dpid srcDpid, PortNumber srcPortNumber,
- Dpid dstDpid, PortNumber dstPortNumber);
-
- /**
- * Gets the outgoing link from a switch and a port to another switch and
- * a port.
- *
- * @param srcDpid the source switch DPID.
- * @param srcPortNumber the source switch port number.
- * @param dstDpid the destination switch DPID.
- * @param dstPortNumber the destination switch port number.
- * @param type type of the link
- * @return the outgoing link if found, otherwise null.
- */
- public Link getLink(Dpid srcDpid, PortNumber srcPortNumber,
- Dpid dstDpid, PortNumber dstPortNumber,
- String type);
-
- /**
- * Gets all links in the network.
- * <p/>
- *
- * @return all links in the network.
- */
- public Iterable<Link> getLinks();
-
- /**
- * Gets the network device for a given MAC address.
- *
- * @param address the MAC address to use.
- * @return the network device for the MAC address if found, otherwise null.
- */
- public Host getHostByMac(MACAddress address);
-
- /**
- * Gets all devices in the network.
- *
- * @return all devices in the network
- */
- public Iterable<Host> getHosts();
-
- /**
- * Gets all devices on specified port.
- *
- * @param port port which the device is attached
- * @return all devices attached to the port.
- */
- public Collection<Host> getHosts(SwitchPort port);
+ // no additional interface needed.
}