Re: [Tracker] Question about user request queue



On Tue, 2009-05-05 at 13:04 +0800, Xin Lai wrote:
Hi list,
    I have question about user request queue. After analyzing tracker
0.6.9* code I got a conclusion that there is not a user request queue
and all the requests are sent to trackerd daemon through dbus. So I
guess dbus help us manage these requests, tracker fetches the request
one by one from dbus and there's no need for trackerd to keep a user
request queue by itself. 

    If my guess is correct , I have another doubt. I think wherever
the synchronous request is sent, if the reply is not returned on time,
which means timeout, the sender will get an error returned. However,
if the request is asynchronous, whenever the reply is returned, the
sender will get it. So some consideration is necessary when we decide
which request should be used.  Am I right?

Hi :)

DBus provides a asynchronous and synchronous API. Our server side
implementation is asynchronous. DBus adds some magic to block until a
reply is received on the client side for sync calls. There is no
blocking on the server side. The only time there is, is when we wait for
the database based on large requests from users. Since requests are
queued, it means if the request before you takes a while, you may
timeout. This usually happens when a client abuses or misuses the API.
It isn't normally an issue.

NOTE: This will change somewhat in the 0.7 branch that is being worked
on in parallel.

-- 
Regards,
Martyn




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]