<div>Hi..</div>
<div> </div>
<div>I created the thread concept and enabled the dbus working :) </div>
<div> </div>
<div>now i am doing the dbus bench marking. finding the latency and average of each thread across dbus.</div>
<div> </div>
<div>Initially i used to get 4.3msec as the average time to call a function in dbus(i.e  calling a function in server and getting a return value for  the called function),</div>
<div>but later now i am getting 24.3msecs as the average time to call a same function.I didnt do any change to the function which is being called.</div>
<div> </div>
<div>so i am  thinking is there anything i am missing, do the dbus message bus need to flushed or is there anything like that need to be done across the dbus.</div>
<div> to make the dbus to work faster and maintaine its transfer speed.</div>
<div> </div>
<div> </div>
<div>Thank you.</div>
<div> </div>
<div>vinoth</div>
<div><br><br> </div>
<div class="gmail_quote">On Tue, May 22, 2012 at 4:26 PM, Simon McVittie <span dir="ltr">&lt;<a href="mailto:simon.mcvittie@collabora.co.uk" target="_blank">simon.mcvittie@collabora.co.uk</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">(Please ask the mailing list rather than asking individual contributors.<br>If you ask me personally, only I can help you, and if I&#39;m too busy, you<br>
won&#39;t get an answer; if you ask the mailing list, anyone on the list can<br>help you.)<br>
<div class="im"><br>On 22/05/12 11:38, Vinoth V wrote:<br>&gt; but  I have requirement like message need to pass from server to client<br>&gt; also.<br><br></div>That&#39;s possible.<br>
<div class="im"><br>&gt; for every 2 mins server will send a specific details to its client, this<br>&gt; msg should be initiated by the server and client should respond back...<br><br></div>That&#39;s possible. I&#39;d do this as an asynchronous method call sent by the<br>
&quot;server&quot; to the &quot;client&quot;. This reverses their usual roles, but that&#39;s OK<br>- all processes on D-Bus are treated the same. Telepathy and BlueZ both<br>have situations where the process you&#39;d normally think of as the<br>
&quot;server&quot; calls methods on the process you&#39;d normally think of as the<br>&quot;client&quot;.<br><br>It has to be an asynchronous method call (send request, go back to your<br>main loop, get a callback called from your main loop later) because if<br>
two processes try to make synchronous method calls to each other,<br>they&#39;ll typically deadlock while each waits for the other to reply.<br><br>You should make asynchronous method calls anyway, though; see<br>&lt;<a href="http://smcv.pseudorandom.co.uk/2008/11/nonblocking/" target="_blank">http://smcv.pseudorandom.co.uk/2008/11/nonblocking/</a>&gt;.<br>

<div class="im"><br>&gt; Is there any API avaliable in glib to do this or we need to create a<br>&gt; another message bus for the client side to meet my requirement.<br><br></div>Export an object with a method from the &quot;client&quot; (e.g. with<br>
g_dbus_connection_register_object()); make the &quot;client&quot; tell the<br>&quot;server&quot; its unique name somehow (e.g. call<br>g_dbus_connection_get_unique_name() and send that to the &quot;server&quot;); make<br>
the &quot;server&quot; call the client&#39;s method by using that unique name.<br>
<div class="im"><br>&gt; whether my requirement can be  achieved using signals ..?<br><br></div>You could do this with signals too, although method calls would probably<br>be easier to understand:<br><br>* emit signal with your &quot;specific details&quot; every 2 minutes<br>
* your client responds to that signal by calling a method on the server<br>
<div class="im"><br>&gt; but i need to<br>&gt; send data structures as arguments ..<br>&gt; maximum  three arugments i need to send from the server to client.<br><br></div>You can send nearly any data structure that you can encode into a<br>
GVariant (exceptions: you can&#39;t send any type involving &quot;maybe&quot;, you can<br>only send a dict-entry if it&#39;s in an array of dict-entry, and you can&#39;t<br>send empty tuples).<br><br>If you have a complex data structure you will need to work out how to<br>
encode it as a D-Bus message (or, equivalently, as a GVariant without<br>using the features I mentioned).<br><span class="HOEnZb"><font color="#888888"><br>   S<br></font></span></blockquote></div><br>