blob: 1b37d7f11ae8f84a3c0edf6886c507b6353464e6 [file] [log] [blame]
Toshio Koidea03915e2014-07-01 18:39:52 -07001package net.onrc.onos.api.flowmanager;
2
3import java.util.List;
4
5import net.onrc.onos.core.matchaction.MatchActionPlan;
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/**
10 * IFlow object representing an optical path.
11 * <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 *
21 * @param id ID for this new IFlow object.
22 * @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
44 public MatchActionPlan compile() {
45 // TODO Auto-generated method stub
46 return super.compile();
47 }
48}