blob: ef74f73206b31e3db4959b0e8111ccdafe565f6e [file] [log] [blame]
Jonathan Hart062a2e82014-02-03 09:41:57 -08001package net.onrc.onos.ofcontroller.networkgraph;
2
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -08003/**
4 * Interface of Link Object exposed to the "NB" read-only Topology.
5 *
6 * Everything returned by these interfaces must be either Unmodifiable view,
7 * immutable object, or a copy of the original "SB" In-memory Topology.
8 *
9 */
Jonathan Hart062a2e82014-02-03 09:41:57 -080010public interface Link {
11 public Port getSourcePort();
12 public Port getDestinationPort();
13 public Switch getSourceSwitch();
14 public Switch getDestinationSwitch();
Toshio Koide2f570c12014-02-06 16:55:32 -080015
Jonathan Hart062a2e82014-02-03 09:41:57 -080016 public long getLastSeenTime();
Toshio Koide2f570c12014-02-06 16:55:32 -080017
Jonathan Hart062a2e82014-02-03 09:41:57 -080018 public int getCost();
Toshio Koide2f570c12014-02-06 16:55:32 -080019 public Double getCapacity();
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080020
Jonathan Hart062a2e82014-02-03 09:41:57 -080021 // Not sure if we want to expose these northbound
Toshio Koide2f570c12014-02-06 16:55:32 -080022 // Toshi: I think these are unnecessary because we can get them
23 // Toshi: like "this.getSourcePort().getSwitch()" etc.
24 public Long getSourceSwitchDpid();
25 public Long getSourcePortNumber();
26 public Long getDestinationSwitchDpid();
27 public Long getDestinationPortNumber();
Jonathan Hart062a2e82014-02-03 09:41:57 -080028}