blob: 1bc0be1ce9a22521d30dcf104dd38ee3d6628e37 [file] [log] [blame]
Pavlin Radoslavov6b79f2b2013-10-26 21:31:10 -07001package net.onrc.onos.ofcontroller.flowmanager;
2
3import net.onrc.onos.ofcontroller.topology.TopologyElement;
4import net.onrc.onos.ofcontroller.util.FlowPath;
5
6/**
7 * Interface for providing Path Computation Service to other modules.
8 */
9public interface IPathComputationService {
10 /**
11 * Receive a notification that a Flow is added.
12 *
13 * @param flowPath the flow that is added.
14 */
15 void notificationRecvFlowAdded(FlowPath flowPath);
16
17 /**
18 * Receive a notification that a Flow is removed.
19 *
20 * @param flowPath the flow that is removed.
21 */
22 void notificationRecvFlowRemoved(FlowPath flowPath);
23
24 /**
25 * Receive a notification that a Flow is updated.
26 *
27 * @param flowPath the flow that is updated.
28 */
29 void notificationRecvFlowUpdated(FlowPath flowPath);
30
31 /**
32 * Receive a notification that a Topology Element is added.
33 *
34 * @param topologyElement the Topology Element that is added.
35 */
36 void notificationRecvTopologyElementAdded(TopologyElement topologyElement);
37
38 /**
39 * Receive a notification that a Topology Element is removed.
40 *
41 * @param topologyElement the Topology Element that is removed.
42 */
43 void notificationRecvTopologyElementRemoved(TopologyElement topologyElement);
44
45 /**
46 * Receive a notification that a Topology Element is updated.
47 *
48 * @param topologyElement the Topology Element that is updated.
49 */
50 void notificationRecvTopologyElementUpdated(TopologyElement topologyElement);
51}