[LEDE-DEV] [PATCH mdns] Avoid duplicated iteration over services when announcing
John Crispin
john at phrozen.org
Fri Feb 10 06:11:16 PST 2017
On 10/02/2017 14:44, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal at milecki.pl>
>
> In function service_announce_services we iterate over services and
> handle every single one so calling service_reply which also iterates
> doesn't make sense.
>
> In simple cases it was just wasting CPU cycles. We got service, we were
> passing its name and we were looking for it again comparing names.
> In cases with one service available on few different ports it was worse.
> For every iterated service we were announcing that one and all other
> sharing the same name. It resulted in sending n^2 records.
>
> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
Acked-by: John Crispin <john at phrozen.org>
> ---
> service.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/service.c b/service.c
> index 182b2b2..bb87aff 100644
> --- a/service.c
> +++ b/service.c
> @@ -179,7 +179,7 @@ service_announce_services(struct interface *iface, const char *service, int ttl)
> else
> dns_send_answer(iface, sdudp);
> }
> - service_reply(iface, s->service, ttl);
> + service_reply_single(iface, s, ttl, 0);
> }
> }
>
>
More information about the Lede-dev
mailing list