Thomas Vachuska
Committed by Gerrit Code Review

Added @Beta annotation to the flow objective API.

Change-Id: I4dd91921db1ff533b0ea1e3244dcdbf08b64a499
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.collect.ImmutableList; 19 import com.google.common.collect.ImmutableList;
19 import org.onosproject.core.ApplicationId; 20 import org.onosproject.core.ApplicationId;
20 import org.onosproject.net.flow.criteria.Criteria; 21 import org.onosproject.net.flow.criteria.Criteria;
...@@ -31,6 +32,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -31,6 +32,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
31 /** 32 /**
32 * Default implementation of a filtering objective. 33 * Default implementation of a filtering objective.
33 */ 34 */
35 +@Beta
34 public final class DefaultFilteringObjective implements FilteringObjective { 36 public final class DefaultFilteringObjective implements FilteringObjective {
35 37
36 38
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.ApplicationId; 19 import org.onosproject.core.ApplicationId;
19 import org.onosproject.net.flow.TrafficSelector; 20 import org.onosproject.net.flow.TrafficSelector;
20 import org.onosproject.net.flow.TrafficTreatment; 21 import org.onosproject.net.flow.TrafficTreatment;
...@@ -28,6 +29,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -28,6 +29,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
28 /** 29 /**
29 * Default implementation of a forwarding objective. 30 * Default implementation of a forwarding objective.
30 */ 31 */
32 +@Beta
31 public final class DefaultForwardingObjective implements ForwardingObjective { 33 public final class DefaultForwardingObjective implements ForwardingObjective {
32 34
33 private final TrafficSelector selector; 35 private final TrafficSelector selector;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.collect.ImmutableList; 19 import com.google.common.collect.ImmutableList;
19 import org.onosproject.core.ApplicationId; 20 import org.onosproject.core.ApplicationId;
20 import org.onosproject.net.flow.TrafficTreatment; 21 import org.onosproject.net.flow.TrafficTreatment;
...@@ -29,6 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -29,6 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
29 /** 30 /**
30 * Default implementation of a next objective. 31 * Default implementation of a next objective.
31 */ 32 */
33 +@Beta
32 public final class DefaultNextObjective implements NextObjective { 34 public final class DefaultNextObjective implements NextObjective {
33 35
34 private final List<TrafficTreatment> treatments; 36 private final List<TrafficTreatment> treatments;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.ApplicationId; 19 import org.onosproject.core.ApplicationId;
19 import org.onosproject.net.flow.criteria.Criterion; 20 import org.onosproject.net.flow.criteria.Criterion;
20 21
...@@ -26,6 +27,7 @@ import java.util.Collection; ...@@ -26,6 +27,7 @@ import java.util.Collection;
26 * be used by a device driver to construct the actual flow rules to 27 * be used by a device driver to construct the actual flow rules to
27 * be installed on the device. 28 * be installed on the device.
28 */ 29 */
30 +@Beta
29 public interface FilteringObjective extends Objective { 31 public interface FilteringObjective extends Objective {
30 32
31 enum Type { 33 enum Type {
......
...@@ -15,12 +15,14 @@ ...@@ -15,12 +15,14 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.DeviceId; 19 import org.onosproject.net.DeviceId;
19 20
20 /** 21 /**
21 * Service for programming data plane flow rules in manner independent of 22 * Service for programming data plane flow rules in manner independent of
22 * specific device table pipeline configuration. 23 * specific device table pipeline configuration.
23 */ 24 */
25 +@Beta
24 public interface FlowObjectiveService { 26 public interface FlowObjectiveService {
25 27
26 /** 28 /**
......
...@@ -15,12 +15,14 @@ ...@@ -15,12 +15,14 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.behaviour.NextGroup; 19 import org.onosproject.net.behaviour.NextGroup;
19 import org.onosproject.store.Store; 20 import org.onosproject.store.Store;
20 21
21 /** 22 /**
22 * The flow objective store. 23 * The flow objective store.
23 */ 24 */
25 +@Beta
24 public interface FlowObjectiveStore 26 public interface FlowObjectiveStore
25 extends Store<ObjectiveEvent, FlowObjectiveStoreDelegate> { 27 extends Store<ObjectiveEvent, FlowObjectiveStoreDelegate> {
26 28
......
...@@ -15,10 +15,12 @@ ...@@ -15,10 +15,12 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.store.StoreDelegate; 19 import org.onosproject.store.StoreDelegate;
19 20
20 /** 21 /**
21 * Flow Objective store delegate abstraction. 22 * Flow Objective store delegate abstraction.
22 */ 23 */
24 +@Beta
23 public interface FlowObjectiveStoreDelegate extends StoreDelegate<ObjectiveEvent> { 25 public interface FlowObjectiveStoreDelegate extends StoreDelegate<ObjectiveEvent> {
24 } 26 }
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.flow.TrafficSelector; 19 import org.onosproject.net.flow.TrafficSelector;
19 import org.onosproject.net.flow.TrafficTreatment; 20 import org.onosproject.net.flow.TrafficTreatment;
20 21
...@@ -23,6 +24,7 @@ import org.onosproject.net.flow.TrafficTreatment; ...@@ -23,6 +24,7 @@ import org.onosproject.net.flow.TrafficTreatment;
23 * be forwarded through the device. A forwarding objective may 24 * be forwarded through the device. A forwarding objective may
24 * in multiple rules at the device. 25 * in multiple rules at the device.
25 */ 26 */
27 +@Beta
26 public interface ForwardingObjective extends Objective { 28 public interface ForwardingObjective extends Objective {
27 29
28 /** 30 /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.ApplicationId; 19 import org.onosproject.core.ApplicationId;
19 import org.onosproject.net.flow.TrafficTreatment; 20 import org.onosproject.net.flow.TrafficTreatment;
20 21
...@@ -25,6 +26,7 @@ import java.util.Collection; ...@@ -25,6 +26,7 @@ import java.util.Collection;
25 * into the appropriate group or actions needed to implement 26 * into the appropriate group or actions needed to implement
26 * the function. 27 * the function.
27 */ 28 */
29 +@Beta
28 public interface NextObjective extends Objective { 30 public interface NextObjective extends Objective {
29 31
30 /** 32 /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.ApplicationId; 19 import org.onosproject.core.ApplicationId;
19 20
20 import java.util.Optional; 21 import java.util.Optional;
...@@ -22,6 +23,7 @@ import java.util.Optional; ...@@ -22,6 +23,7 @@ import java.util.Optional;
22 /** 23 /**
23 * Base representation of an flow description. 24 * Base representation of an flow description.
24 */ 25 */
26 +@Beta
25 public interface Objective { 27 public interface Objective {
26 28
27 static final boolean DEFAULT_PERMANENT = true; 29 static final boolean DEFAULT_PERMANENT = true;
......
...@@ -15,12 +15,15 @@ ...@@ -15,12 +15,15 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
19 +
18 /** 20 /**
19 * The context of a objective that will become the subject of 21 * The context of a objective that will become the subject of
20 * the notification. 22 * the notification.
21 * 23 *
22 * Implementations of this class must be serializable. 24 * Implementations of this class must be serializable.
23 */ 25 */
26 +@Beta
24 public interface ObjectiveContext { 27 public interface ObjectiveContext {
25 28
26 default void onSuccess(Objective objective) {} 29 default void onSuccess(Objective objective) {}
......
...@@ -15,9 +15,12 @@ ...@@ -15,9 +15,12 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
19 +
18 /** 20 /**
19 * Represents the set of errors possible when processing an objective. 21 * Represents the set of errors possible when processing an objective.
20 */ 22 */
23 +@Beta
21 public enum ObjectiveError { 24 public enum ObjectiveError {
22 25
23 /** 26 /**
......
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
15 */ 15 */
16 package org.onosproject.net.flowobjective; 16 package org.onosproject.net.flowobjective;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.event.AbstractEvent; 19 import org.onosproject.event.AbstractEvent;
19 20
20 /** 21 /**
21 * Describes a objective event. 22 * Describes a objective event.
22 */ 23 */
24 +@Beta
23 public class ObjectiveEvent extends AbstractEvent<ObjectiveEvent.Type, Integer> { 25 public class ObjectiveEvent extends AbstractEvent<ObjectiveEvent.Type, Integer> {
24 26
25 /** 27 /**
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
16 16
17 /** 17 /**
18 * Abstractions for objective-based flow programming of data plane without 18 * Abstractions for objective-based flow programming of data plane without
19 - * requiring device pipeline structure awareness. 19 + * requiring device pipeline structure awareness.&nbsp; This subsystem is
20 + * experimental and its interfaces will change in the upcoming release.
20 */ 21 */
21 package org.onosproject.net.flowobjective; 22 package org.onosproject.net.flowobjective;
...\ No newline at end of file ...\ No newline at end of file
......