[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241018163610.4b4152ec@kmaincent-XPS-13-7390>
Date: Fri, 18 Oct 2024 16:36:10 +0200
From: Kory Maincent <kory.maincent@...tlin.com>
To: Donald Hunter <donald.hunter@...il.com>
Cc: netdev@...r.kernel.org, Jakub Kicinski <kuba@...nel.org>, "David S.
Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Paolo
Abeni <pabeni@...hat.com>, Jiri Pirko <jiri@...nulli.us>,
donald.hunter@...hat.com
Subject: Re: [PATCH net-next v1] tools/net/ynl: improve async notification
handling
On Fri, 18 Oct 2024 10:32:28 +0100
Donald Hunter <donald.hunter@...il.com> wrote:
> The notification handling in ynl is currently very simple, using sleep()
> to wait a period of time and then handling all the buffered messages in
> a single batch.
>
> This patch changes the notification handling so that messages are
> processed as they are received. This makes it possible to use ynl as a
> library that supplies notifications in a timely manner.
>
> - Change check_ntf() to be a generator that yields 1 notification at a
> time and blocks until a notification is available.
> - Use the --sleep parameter to set an alarm and exit when it fires.
>
> This means that the CLI has the same interface, but notifications get
> printed as they are received:
>
> ./tools/net/ynl/cli.py --spec <SPEC> --subscribe <TOPIC> [ --sleep <SECS> ]
>
> Here is an example python snippet that shows how to use ynl as a library
> for receiving notifications:
>
> ynl = YnlFamily(f"{dir}/rt_route.yaml")
> ynl.ntf_subscribe('rtnlgrp-ipv4-route')
>
> for event in ynl.check_ntf():
> handle(event)
Tested-by: Kory Maincent <kory.maincent@...tlin.com>
Thank you!
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
Powered by blists - more mailing lists