blob: c566eea78edeb881f907d2ad5e071b8a4198564c [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 * Link Object stored in In-memory Topology.
5 *
6 * TODO REMOVE following design memo: This object itself may hold the DBObject,
7 * but this Object itself will not issue any read/write to the DataStore.
8 */
Jonathan Hart062a2e82014-02-03 09:41:57 -08009public class LinkImpl extends NetworkGraphObject implements Link {
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080010
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080011 private Switch srcSwitch;
12 private Port srcPort;
13 private Switch dstSwitch;
14 private Port dstPort;
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080015
Jonathan Hart062a2e82014-02-03 09:41:57 -080016 private static final int DEFAULT_COST = 1;
17 private int cost = DEFAULT_COST;
18
19 public LinkImpl(NetworkGraph graph) {
20 super(graph);
21 }
22
23 @Override
24 public Port getSourcePort() {
25 // TODO Auto-generated method stub
26 return null;
27 }
28
29 @Override
30 public Port getDestinationPort() {
31 // TODO Auto-generated method stub
32 return null;
33 }
34
35 @Override
36 public Switch getSourceSwitch() {
37 // TODO Auto-generated method stub
38 return null;
39 }
40
41 @Override
42 public Switch getDestinationSwitch() {
43 // TODO Auto-generated method stub
44 return null;
45 }
46
47 @Override
48 public long getLastSeenTime() {
49 // TODO Auto-generated method stub
50 return 0;
51 }
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080052
Jonathan Hart062a2e82014-02-03 09:41:57 -080053 @Override
54 public int getCost() {
55 return cost;
56 }
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080057
Jonathan Hart062a2e82014-02-03 09:41:57 -080058 public void setCost(int cost) {
59 this.cost = cost;
60 }
61
62 @Override
63 public long getSourceSwitchDpid() {
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080064 return srcSwitch.getDpid();
Jonathan Hart062a2e82014-02-03 09:41:57 -080065 }
66
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080067 public void setSrcSwitch(Switch srcSwitch) {
68 // TODO null check
Jonathan Hart062a2e82014-02-03 09:41:57 -080069 this.srcSwitch = srcSwitch;
70 }
71
72 @Override
73 public short getSourcePortNumber() {
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080074 return srcPort.getNumber();
Jonathan Hart062a2e82014-02-03 09:41:57 -080075 }
76
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080077 public void setSrcPort(Port srcPort) {
78 // TODO null check
Jonathan Hart062a2e82014-02-03 09:41:57 -080079 this.srcPort = srcPort;
80 }
81
82 @Override
83 public long getDestinationSwitchDpid() {
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080084 return dstSwitch.getDpid();
Jonathan Hart062a2e82014-02-03 09:41:57 -080085 }
86
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080087 public void setDstSwitch(Switch dstSwitch) {
88 // TODO null check
Jonathan Hart062a2e82014-02-03 09:41:57 -080089 this.dstSwitch = dstSwitch;
90 }
91
92 @Override
93 public short getDestinationPortNumber() {
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080094 return dstPort.getNumber();
Jonathan Hart062a2e82014-02-03 09:41:57 -080095 }
96
Yuta HIGUCHIe1d92762014-02-06 12:05:52 -080097 public void setDstPort(Port dstPort) {
98 // TODO null check
Jonathan Hart062a2e82014-02-03 09:41:57 -080099 this.dstPort = dstPort;
100 }
101
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -0800102
Jonathan Hart062a2e82014-02-03 09:41:57 -0800103}