blob: 0c8dc64c4eb4bef8e567ee840ec9a4edbfcc3045 [file] [log] [blame]
jiangruia716b652015-11-25 16:07:37 +08001/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2015-present Open Networking Foundation
jiangruia716b652015-11-25 16:07:37 +08003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.vtnrsc.event;
17
18import org.onosproject.event.AbstractEvent;
19
20
21/**
22 * Describes network vtnrsc event.
23 */
24public class VtnRscEvent
25 extends AbstractEvent<VtnRscEvent.Type, VtnRscEventFeedback> {
26
27 /**
28 * Type of vtnrsc events.
29 */
30 public enum Type {
31 /**
32 * Signifies that floating IP has create.
33 */
34 FLOATINGIP_PUT,
35 /**
36 * Signifies that floating IP has delete.
37 */
38 FLOATINGIP_DELETE,
39 /**
lishuai762df812016-01-08 11:51:15 +080040 * Signifies that Floating IP has been bound.
41 */
42 FLOATINGIP_BIND,
43 /**
44 * Signifies that Floating IP has been unbound.
45 */
46 FLOATINGIP_UNBIND,
47 /**
jiangruia716b652015-11-25 16:07:37 +080048 * Signifies that router has create.
49 */
50 ROUTER_PUT,
51 /**
52 * Signifies that router has delete.
53 */
54 ROUTER_DELETE,
55 /**
56 * Signifies that router interface has add.
57 */
58 ROUTER_INTERFACE_PUT,
59 /**
60 * Signifies that router interface has remove.
61 */
Mahesh Poojary S6d94f422015-11-29 12:55:56 +053062 ROUTER_INTERFACE_DELETE,
63 /**
64 * Signifies that port-pair has add.
65 */
66 PORT_PAIR_PUT,
67 /**
68 * Signifies that port-pair has remove.
69 */
70 PORT_PAIR_DELETE,
71 /**
72 * Signifies that port-pair has update.
73 */
74 PORT_PAIR_UPDATE,
75 /**
76 * Signifies that port-pair-group has add.
77 */
78 PORT_PAIR_GROUP_PUT,
79 /**
80 * Signifies that port-pair-group has remove.
81 */
82 PORT_PAIR_GROUP_DELETE,
83 /**
84 * Signifies that port-pair-group has update.
85 */
86 PORT_PAIR_GROUP_UPDATE,
87 /**
88 * Signifies that flow-classifier has add.
89 */
90 FLOW_CLASSIFIER_PUT,
91 /**
92 * Signifies that flow-classifier has remove.
93 */
94 FLOW_CLASSIFIER_DELETE,
95 /**
96 * Signifies that flow-classifier has update.
97 */
98 FLOW_CLASSIFIER_UPDATE,
99 /**
100 * Signifies that port-chain has add.
101 */
102 PORT_CHAIN_PUT,
103 /**
104 * Signifies that port-chain has remove.
105 */
106 PORT_CHAIN_DELETE,
107 /**
108 * Signifies that port-chain has update.
109 */
Phaneendra Mandab212bc92016-07-08 16:50:11 +0530110 PORT_CHAIN_UPDATE,
111 /**
112 * Signifies that virtual-port has created.
113 */
114 VIRTUAL_PORT_PUT,
115 /**
116 * Signifies that virtual-port has removed.
117 */
118 VIRTUAL_PORT_DELETE
jiangruia716b652015-11-25 16:07:37 +0800119 }
120
121 /**
122 * Creates an event of a given type and for the specified vtn event feedback.
123 *
124 * @param type Vtnrsc event type
125 * @param vtnFeedback event VtnrscEventFeedback subject
126 */
127 public VtnRscEvent(Type type, VtnRscEventFeedback vtnFeedback) {
128 super(type, vtnFeedback);
129 }
130
131 /**
132 * Creates an event of a given type and for the specified vtn event feedback.
133 *
134 * @param type Vtnrsc event type
135 * @param vtnFeedback event VtnrscEventFeedback subject
136 * @param time occurrence time
137 */
138 public VtnRscEvent(Type type, VtnRscEventFeedback vtnFeedback, long time) {
139 super(type, vtnFeedback, time);
140 }
141}