ONOS-7898 Action profile group/member refactoring
Also includes:
- New abstract P4Runtime codec implementation. Currently used for action
profile members/groups encoding/deconding, the plan is to handle all
other codecs via this.
- Improved read requests in P4RuntimeClientImpl
- Removed handling of max group size in P4Runtime driver. Instead, added
modified group translator to specify a max group size by using
information from the pipeline model.
Change-Id: I684bae0184d683bb448ba19863c561f9848479d2
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiAction.java b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiAction.java
index 24655b6..78a62fd 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiAction.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiAction.java
@@ -30,21 +30,24 @@
import static com.google.common.base.Preconditions.checkNotNull;
/**
- * Instance of an action, and its runtime parameters, of a table entry in a protocol-independent pipeline.
+ * Instance of an action, and its runtime parameters, of a table entry in a
+ * protocol-independent pipeline.
*/
@Beta
public final class PiAction implements PiTableAction {
private final PiActionId actionId;
- private final Map<PiActionParamId, PiActionParam> runtimeParams;
+ private final ImmutableMap<PiActionParamId, PiActionParam> runtimeParams;
/**
- * Creates a new action instance for the given action identifier and runtime parameters.
+ * Creates a new action instance for the given action identifier and runtime
+ * parameters.
*
* @param actionId action identifier
* @param runtimeParams list of runtime parameters
*/
- private PiAction(PiActionId actionId, Map<PiActionParamId, PiActionParam> runtimeParams) {
+ private PiAction(PiActionId actionId,
+ Map<PiActionParamId, PiActionParam> runtimeParams) {
this.actionId = actionId;
this.runtimeParams = ImmutableMap.copyOf(runtimeParams);
}
@@ -64,8 +67,8 @@
}
/**
- * Returns all runtime parameters of this action. Return an empty collection if the action doesn't take any runtime
- * parameters.
+ * Returns all runtime parameters of this action. Return an empty collection
+ * if the action doesn't take any runtime parameters.
*
* @return list of byte sequences
*/