blob: adc82259db74b03694d7c9a20ae462162ab38f8c [file] [log] [blame]
Toshio Koidea5611ce2014-08-22 15:16:51 -07001package net.onrc.onos.core.flowmanager;
2
3import net.onrc.onos.api.flowmanager.Flow;
4import net.onrc.onos.api.flowmanager.FlowId;
5import net.onrc.onos.api.flowmanager.FlowState;
6
7/**
8 * An interface to the event listener of the flow map.
9 */
10interface FlowMapEventListener {
11 /**
12 * Invoked when a {@link Flow} object is added.
13 *
14 * @param id the ID of the {@link Flow}.
15 * @param flow the {@link Flow} object.
16 */
17 void flowAdded(FlowId id, Flow flow);
18
19 /**
20 * Invoked when a {@link Flow} object is removed.
21 *
22 * @param id the ID of the {@link Flow}.
23 */
24 void flowRemoved(FlowId id);
25
26 /**
27 * Invoked when a {@link FlowState} of a {@link Flow} object is changed.
28 *
29 * @param id the ID of the {@link Flow}
30 * @param oldState the old state of the {@link Flow}
31 * @param currentState the current state of the {@link Flow}
32 */
33 void flowStateChanged(FlowId id, FlowState oldState, FlowState currentState);
34}