blob: 66bfb787b0a5bcf7a989ef751ccda9dd7ba24167 [file] [log] [blame]
tom9c94c5b2014-09-17 13:14:42 -07001package org.onlab.onos.openflow.controller.driver;
tom7ef8ff92014-09-17 13:08:06 -07002
3/**
4 * When we remove a pending role request we use this enum to indicate how we
5 * arrived at the decision. When we send a role request to the switch, we
6 * also use this enum to indicate what we expect back from the switch, so the
7 * role changer can match the reply to our expectation.
8 */
9public enum RoleRecvStatus {
10 /** The switch returned an error indicating that roles are not.
11 * supported*/
12 UNSUPPORTED,
13 /** The request timed out. */
14 NO_REPLY,
15 /** The reply was old, there is a newer request pending. */
16 OLD_REPLY,
17 /**
18 * The reply's role matched the role that this controller set in the
19 * request message - invoked either initially at startup or to reassert
20 * current role.
21 */
22 MATCHED_CURRENT_ROLE,
23 /**
24 * The reply's role matched the role that this controller set in the
25 * request message - this is the result of a callback from the
26 * global registry, followed by a role request sent to the switch.
27 */
28 MATCHED_SET_ROLE,
29 /**
30 * The reply's role was a response to the query made by this controller.
31 */
32 REPLY_QUERY,
33 /** We received a role reply message from the switch
34 * but the expectation was unclear, or there was no expectation.
35 */
36 OTHER_EXPECTATION,
37}