Thanks Simon for detailed explanation. My use case is similar to what you have explained NetworkManager (signal when something interesting happens :)). <br><br>We are in the process of developing one playback system. One of the sub-system within this will function as media player UI. Through this media player UI, user can give many commands like play, stop etc. to player, Player in turn updates UI about command execution status and clip status (playing/time details etc). Also, the media player UI might get signals from other sub-systems (eg. USB device connected). UI need to interact authorization module to autherise operator/contents etc. The monitor module should also able to listen all events happening within system. All these components will sit on same machine. So we are planning to use DBUS for interaction between these sub-systems. DBUS gives advantage here as some of sub-systems are written in python scripts and by using DBUS we can concentrate more on main application requirements rather than caring about interprocess communication. <br>
<br>Apologize for late reply as I was on vacation :).<br> <br><div class="gmail_quote">On Wed, Aug 29, 2012 at 7:56 PM, Simon McVittie <span dir="ltr"><<a href="mailto:simon.mcvittie@collabora.co.uk" target="_blank">simon.mcvittie@collabora.co.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 29/08/12 14:05, rajnikant jachak wrote:<br>
> As I said, my client emits 'req' signal and server processes it. In my<br>
> system, there would be multiple clients emitting same signal 'req',<br>
> which server in turn needs to process.<br>
<br>
</div>That's fine. Multiple client processes are fine, multiple threads within<br>
one process are more problematic (because they share an address space,<br>
so they need mutexes and very careful programming practices).<br>
<div class="im"><br>
> Would such type of many to one association, overload DBUS?<br>
<br>
</div>Many-to-one communication is fine - it's a large part of why D-Bus<br>
exists. But you're asking about performance without giving any<br>
indication of what you're actually doing, so I should give you the usual<br>
performance advice.<br>
<br>
The standard D-Bus system and session buses are really designed to be<br>
used for "signalling" - individual messages or short bursts of messages<br>
when something interesting happens - rather than for continuous bulk<br>
traffic. For instance, it's ideal for something like NetworkManager.<br>
When the user takes action or "interesting" things happen in the real<br>
world (network cable plugged in, wireless network detected, etc.),<br>
relatively many messages are sent, but that's a temporary situation.<br>
When the computer is idle, NetworkManager only needs to send a message<br>
to the UI every few seconds (or even every few minutes) to say "signal<br>
strength has changed to 42%" or similar.<br>
<br>
Similarly, the Telepathy IM framework sends D-Bus messages when you send<br>
or receive messages, start or receive calls, or when your friends'<br>
presence statuses change, but in between "interesting" events, it's<br>
idle. That's the sort of thing D-Bus is meant for.<br>
<br>
My usual rule of thumb is that if you have to worry about D-Bus'<br>
performance or what percentage of CPU time it will take up, you should<br>
consider whether D-Bus is actually the right thing for you. You can<br>
always use the system bus to do the "handshaking" for a private Unix<br>
socket or something, then do your bulk data transfer over that.<br>
<br>
If you tell this mailing list what your use case is, we're more likely<br>
to be able to say whether D-Bus is appropriate. Otherwise, the only<br>
answer you're likely to get is "it depends".<br>
<div class="im"><br>
If yes, would<br>
> such problem get resolved if every client emits different signal (ex.<br>
> client1 emits req1, client2 emits req2 etc) for server?<br>
<br>
</div>No, renaming messages does not alter the amount of CPU time they'll require.<br>
<br>
    S<br>
_______________________________________________<br>
dbus mailing list<br>
<a href="mailto:dbus@lists.freedesktop.org">dbus@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/dbus" target="_blank">http://lists.freedesktop.org/mailman/listinfo/dbus</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Rajnikant Jachak.<br><br>The pessimist sees difficulty in every opportunity. The optimist sees the opportunity in every difficulty.<br>