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/model/PiActionProfileModel.java b/core/api/src/main/java/org/onosproject/net/pi/model/PiActionProfileModel.java
index 66b8c53..0a66ee9 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/model/PiActionProfileModel.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/model/PiActionProfileModel.java
@@ -41,16 +41,28 @@
     Collection<PiTableId> tables();
 
     /**
-     * Returns true if this action profile implements dynamic selection, false otherwise.
+     * Returns true if this action profile implements dynamic selection, false
+     * otherwise.
      *
-     * @return true if action profile implements dynamic selection, false otherwise
+     * @return true if action profile implements dynamic selection, false
+     * otherwise
      */
     boolean hasSelector();
 
     /**
-     * Returns the maximum number of member entries of this action profile.
+     * Returns the maximum number of member entries that this action profile can
+     * hold.
      *
      * @return maximum number of member entries
      */
-    long maxSize();
+    long size();
+
+    /**
+     * Returns the maximum number of members a group of this action profile can
+     * hold. This method is meaningful only if the action profile implements
+     * dynamic selection. 0 signifies that an explicit limit is not set.
+     *
+     * @return maximum number of members a group can hold
+     */
+    int maxGroupSize();
 }