blob: 64b7e2e6c658e54872a3c6be8c7f0b878c678286 [file] [log] [blame]
Toshio Koidea03915e2014-07-01 18:39:52 -07001package net.onrc.onos.api.flowmanager;
2
3import java.util.List;
4
Ray Milkey42ae1b52014-08-15 16:37:06 -07005import net.onrc.onos.core.matchaction.MatchActionOperations;
Toshio Koided8b077a2014-08-13 10:47:21 -07006import net.onrc.onos.core.matchaction.action.Action;
Toshio Koidea03915e2014-07-01 18:39:52 -07007import net.onrc.onos.core.util.PortNumber;
8
9/**
Toshio Koide7894ca02014-08-15 14:30:13 -070010 * Flow object representing an optical path.
Toshio Koidea03915e2014-07-01 18:39:52 -070011 * <p>
12 * TODO: Think this: How do we deal the optical path flow going through the
13 * regenerators? Can we express it with multiple OpticalPathFlow objects?
14 */
15public class OpticalPathFlow extends PathFlow {
16 protected int lambda;
17
18 /**
19 * Constructor.
20 *
Toshio Koide7894ca02014-08-15 14:30:13 -070021 * @param id ID for this new Flow object.
Toshio Koidea03915e2014-07-01 18:39:52 -070022 * @param inPort Ingress port number at the ingress edge node.
23 * @param path Path between ingress and egress edge node.
Toshio Koided8b077a2014-08-13 10:47:21 -070024 * @param actions The list of Action objects at the egress edge node.
Toshio Koidea03915e2014-07-01 18:39:52 -070025 * @param lambda The lambda to be used throughout the path.
26 */
27 public OpticalPathFlow(String id,
Toshio Koided8b077a2014-08-13 10:47:21 -070028 PortNumber inPort, Path path, List<Action> actions, int lambda) {
Toshio Koidea03915e2014-07-01 18:39:52 -070029 super(id, null, inPort, path, actions);
30 this.lambda = lambda;
31 // TODO Auto-generated constructor stub
32 }
33
34 /**
35 * Gets lambda which is used throughout the path.
36 *
37 * @return lambda which is used throughout the path.
38 */
39 public int getLambda() {
40 return lambda;
41 }
42
43 @Override
Ray Milkey42ae1b52014-08-15 16:37:06 -070044 public MatchActionOperations compile() {
Toshio Koidea03915e2014-07-01 18:39:52 -070045 // TODO Auto-generated method stub
46 return super.compile();
47 }
48}