Mikkel Kamstrup Erlandsen wrote:


Question 1 : Will it benefit the search engine to have a Session object for each connection? Then Query objects are spawned by a call like Magnus suggest; Query = NewQuery(Session, query_string)? Is it correct that applications doesn't need to care about sessions - just gimme the goddam query! ? :-)

In Dbus , there are no specific sessions exposed as such so Im not sure a "session" makes sense unless you are using P2P mode.

We do need to close a live query to free up resources on the server but theres no way to automate that as AFAIK the server does not receive client disconnect signals - the shared bus is the connection and thats never released.


Question 2 : Should the results be returned with the HitsAdded signal? The Query object then has a Query.GetResults method to retrieve the results. This is closer to libbeagle and spotlight and the application only spends time retrieving hits when it really wants to. It does introduce some extra method calls though...


Dunno. It depends on the extra traffic it generates - individual dbus calls may have an overhead of a ms or two so they could add up when returning large result sets (IE 1000 hits could cost you 1 or 2 seconds in socket latency alone). I think sending one hit per signal is probably out of the question.

If we batched up the results in packets of 10 or 20 (or some config setting) then it might be okay to do that.

I would have to experiment with tracker to find the optimal packet size so maybe the packet size should be search engine specific.


--
Mr Jamie McCracken
http://jamiemcc.livejournal.com/

_______________________________________________
xdg mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xdg

Reply via email to