Thanks for your answer.<br>If the daemon doesn't keep any introspection data, I guess that also means it doesn't check message signatures against the corresponding introspection data, right ?<br>So you can call a method with "wrong" parameter types without being rejected by the daemon (probably the service itself will fail somehow) ?
<br>But if you try to extract an integer from a message which actually contains a string, you will get an error, probably by the binding and not by the daemon ?<br>So the daemon doesn't perform any check on the content of the messages, does it ?
<br><br>Jacques<br><br><div><span class="gmail_quote">On 3/29/07, <b class="gmail_sendername">Havoc Pennington</b> <<a href="mailto:hp@redhat.com">hp@redhat.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>Jacques Guillou wrote:<br>> The questions :<br>> Does the DBus forwarding performance decrease when many nodes are<br>> registered to the bus ?<br><br>I'm assuming by "node" you mean object path?
<br><br>If you mean bus name, then there is probably some performance<br>implication to having thousands of them, yes. I don't know how bad it<br>would be. I don't think it will be O(n) but maybe something is - if so
<br>it could be fixed. It may use memory though.<br><br>If you mean object path, then those are not registered by the bus at<br>all, so there's zero impact on the bus.<br><br>There are two ways to do object paths with libdbus:
<br> - register each one separately with DBusConnection; in this case, each<br>one will use memory<br> - register a handler for your "subtree" with DBusConnection, which<br>will use one fixed small amount of memory; then parse the rest of the
<br>object path after the common prefix yourself - this should be efficient<br>up to any number of object paths, as long as your app code is efficient<br><br>> What about the memory usage ? Is the introspection data stored for each
<br>> node in the daemon itself or is it accessed on demand ?<br><br>Introspection data is never kept around by libdbus or dbus-daemon<br><br>For all of the above, there may be issues specific to the language<br>binding you are using, in addition to the raw libdbus/dbus-daemon answer.
<br><br>Havoc<br><br></blockquote></div><br>