| package org.onlab.onos.net; |
| |
| import org.onlab.onos.net.provider.Provided; |
| |
| /** |
| * Abstraction of a network infrastructure link. |
| */ |
| public interface Link extends Provided { // TODO: Also should extend graph Edge once the graph module is checked in |
| |
| /** |
| * Coarse representation of the link type. |
| */ |
| public enum Type { |
| /** |
| * Signifies that this is a direct single-segment link. |
| */ |
| DIRECT, |
| |
| /** |
| * Signifies that this link is potentially comprised from multiple |
| * underlying segments or hops, and as such should be used to tag |
| * links traversing optical paths, tunnels or intervening 'dark' |
| * switches. |
| */ |
| INDIRECT |
| } |
| |
| /** |
| * Returns the link source connection point. |
| * |
| * @return link source connection point |
| */ |
| ConnectPoint src(); |
| |
| /** |
| * Returns the link destination connection point. |
| * |
| * @return link destination connection point |
| */ |
| ConnectPoint dst(); |
| |
| // LinkInfo info(); // Additional link information / decorations |
| |
| } |