From: Denis Kenzior <denkenz@gmail.com>
To: ell@lists.01.org
Subject: Re: [PATCH 13/15] dbus: Add message filter public API.
Date: Sat, 26 Mar 2016 16:53:47 -0500 [thread overview]
Message-ID: <56F704EB.5070402@gmail.com> (raw)
In-Reply-To: <CAOq732J6UqgV_k32U8rb_4_Axc=VtTe9TZj2kKtqcKQn7Ak1sg@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2192 bytes --]
Hi Andrew,
On 03/26/2016 10:22 AM, Andrzej Zaborowski wrote:
> On 26 March 2016 at 03:42, Denis Kenzior <denkenz@gmail.com> wrote:
>> Hi Andrew,
>>
>> On 03/25/2016 06:45 PM, Andrzej Zaborowski wrote:
>>>
>>> Hi Denis,
>>>
>>> On 24 March 2016 at 19:04, Denis Kenzior <denkenz@gmail.com> wrote:
>>>>
>>>> Does it make sense to make glob-match values part of the tree?
>>>>
>>>> For example, I can install watch 1 with:
>>>> type='signal', path='/'
>>>>
>>>> and watch 2 with:
>>>> type='signal', sender='org.foo', path='/'
>>>>
>>>> Right now it seems we will generate 2 AddMatch cases for the above, even
>>>> though watch 2 is already covered by watch 1.
>>>
>>>
>>> Ah, good point. I think we could handle that also with the current
>>> structure if we allow the nodes to be added to the tree in any order
>>> necessary, so that the "sender='org.foo'" could be a child of
>>> "path='/'" in specific cases. This wouldn't add any cost to the
>>> filtering of incoming signals, only to adding new rules, what do you
>>> think?
>>>
>>
>> Could work, but my first thought is that it would cause lots of additional
>> processing, since you'd be trying all possible permutations. Given that we
>> have 4-5 rules on average that's a lot of possibilities to try. Or were you
>> thinking something else?
>
> There would be some additional processing but I think it may be okay.
> Now when adding a new rule and we're at a specific node in the tree
> we're checking if there's already a child that matches the next
> condition in the rule. Instead we could check if there's a match for
> any of the yet unused conditions in the rule, and mark that condition
> as used or "visited". In the typical case where most rules begin with
> a sender value this wouldn't add any overhead I think.
>
Lets give it a shot. I ran some mental exercises and can't seem to find
any negatives to the idea besides increasing the add filter cost by a
factor of n, where n = number of rules being added.
The upside is that we could also get rid of the qsort this way. The
silent side-effecting of the input rules is less than ideal.
Regards,
-Denis
next prev parent reply other threads:[~2016-03-26 21:53 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-21 22:10 [PATCH 01/15] dbus: Add _dbus1_message_iter_skip_entry Andrew Zaborowski
2016-03-21 22:10 ` [PATCH 02/15] gvariant: Add _gvariant_iter_skip_entry Andrew Zaborowski
2016-03-24 14:35 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 03/15] dbus: Add _dbus_message_get_nth_string_argument Andrew Zaborowski
2016-03-24 14:35 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 04/15] dbus: Support 2+ arguments in l_dbus_message_get_error Andrew Zaborowski
2016-03-24 14:36 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 05/15] dbus: Fix _dbus_kernel_calculate_bloom for multiple arguments Andrew Zaborowski
2016-03-24 14:39 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 06/15] dbus: Add message filter logic in dbus-filter.c Andrew Zaborowski
2016-03-24 16:36 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 07/15] unit: Add dbus message filter tests Andrew Zaborowski
2016-03-24 16:37 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 08/15] dbus-filter: Name owner change tracking support Andrew Zaborowski
2016-03-24 17:28 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 09/15] dbus: Classic dbus filter_ops implementation Andrew Zaborowski
2016-03-24 17:41 ` Denis Kenzior
2016-03-25 23:30 ` Andrzej Zaborowski
2016-03-26 2:37 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 10/15] dbus: kdbus " Andrew Zaborowski
2016-03-24 17:51 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 11/15] linux: Update kdbus.h to current github version Andrew Zaborowski
2016-03-24 17:52 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 12/15] dbus-kernel: Update kdbus API usage to current version Andrew Zaborowski
2016-03-24 17:52 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 13/15] dbus: Add message filter public API Andrew Zaborowski
2016-03-24 18:04 ` Denis Kenzior
2016-03-25 23:45 ` Andrzej Zaborowski
2016-03-26 2:42 ` Denis Kenzior
2016-03-26 15:22 ` Andrzej Zaborowski
2016-03-26 21:53 ` Denis Kenzior [this message]
2016-03-27 3:48 ` Andrzej Zaborowski
2016-03-21 22:10 ` [PATCH 14/15] unit: Use the message filter API in dbus tests Andrew Zaborowski
2016-03-24 18:06 ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 15/15] dbus: Don't send replies to messages with no reply flag Andrew Zaborowski
2016-03-24 18:12 ` Denis Kenzior
2016-03-25 23:52 ` Andrzej Zaborowski
2016-03-24 14:35 ` [PATCH 01/15] dbus: Add _dbus1_message_iter_skip_entry Denis Kenzior
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56F704EB.5070402@gmail.com \
--to=denkenz@gmail.com \
--cc=ell@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.