Committed by
Gerrit Code Review
Added @Beta annotation to the flow objective API.
Change-Id: I4dd91921db1ff533b0ea1e3244dcdbf08b64a499
Showing
14 changed files
with
30 additions
and
1 deletions
... | @@ -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. 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 | ... | ... |
-
Please register or login to post a comment