doc: announce kvargs API change

Message ID 20181121154545.14261-1-thomas@monjalon.net (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series doc: announce kvargs API change |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Thomas Monjalon Nov. 21, 2018, 3:45 p.m. UTC
  In some usages, kvlist is processed one time in rte_kvargs_process(),
and it is processed a second time if need to check whether it was matched.
In order to simplify implementation of kvargs checks, a new callback
may be used for "no match" cases.

The change of the function prototype would be as below:

 int
 rte_kvargs_process(const struct rte_kvargs *kvlist,
 		const char *key_match,
-		arg_handler_t handler,
+		arg_handler_t match_handler,
+		arg_handler_t no_match_handler,
 		void *opaque_arg)

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/rel_notes/deprecation.rst | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

Maxime Coquelin Nov. 23, 2018, 1:17 p.m. UTC | #1
On 11/21/18 4:45 PM, Thomas Monjalon wrote:
> In some usages, kvlist is processed one time in rte_kvargs_process(),
> and it is processed a second time if need to check whether it was matched.
> In order to simplify implementation of kvargs checks, a new callback
> may be used for "no match" cases.
> 
> The change of the function prototype would be as below:
> 
>   int
>   rte_kvargs_process(const struct rte_kvargs *kvlist,
>   		const char *key_match,
> -		arg_handler_t handler,
> +		arg_handler_t match_handler,
> +		arg_handler_t no_match_handler,
>   		void *opaque_arg)
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>   doc/guides/rel_notes/deprecation.rst | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 34b28234c..7af65cd4b 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -11,6 +11,10 @@ API and ABI deprecation notices are to be posted here.
>   Deprecation Notices
>   -------------------
>   
> +* kvargs: The function ``rte_kvargs_process`` will get a new parameter
> +  for a function pointer called in case of no match of the key.
> +  It will ease implementation of default values or check for mandatory keys.
> +
>   * eal: both declaring and identifying devices will be streamlined in v18.11.
>     New functions will appear to query a specific port from buses, classes of
>     device and device drivers. Device declaration will be made coherent with the
> 

Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
  

Patch

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 34b28234c..7af65cd4b 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -11,6 +11,10 @@  API and ABI deprecation notices are to be posted here.
 Deprecation Notices
 -------------------
 
+* kvargs: The function ``rte_kvargs_process`` will get a new parameter
+  for a function pointer called in case of no match of the key.
+  It will ease implementation of default values or check for mandatory keys.
+
 * eal: both declaring and identifying devices will be streamlined in v18.11.
   New functions will appear to query a specific port from buses, classes of
   device and device drivers. Device declaration will be made coherent with the