Windows Search Protocol

Due to the day to day grind I have had no chance in the last months to play more with the Windows Search Protocol, however there are a number of things that I need to do to improve

  • Make the server asynchronous (I started to experiment with this previously, I need to go further with that and at least make the aspects of the generic api (those that communicate directly with tracker-sparql) asynchronous
  • extend the basic set of property conversion routines (for example dates of files are hard coded) there are also some other very basic properties that need some love.
  • run the tracker-sparql related parts in a separate child process (currently there is a hack to run the sparql code in a separate thread with some non-functioning code that should allow the code to run in a child process instead) Tracker sparql code should run independently in a child process (or if possible run under the control of the tevent main loop, see below)

tevent / glib event loop integration

The WSP server is a part of samba, thus it uses the tevent library for processing events (and for it's main event loop), however the WSP server also uses tracker-sparql which uses glib for events. How do we use these concurrently ? At the moment I step around this problem by separating out the tracker-sparql (and the associated glib event handling) into a separate thread or child process and use pipes (monitored by tevent) to communicate with this 'separate' tracker/glib functionality. The tevent and glib worlds co-exist independently of each other. I need for reasons of scalability to be able to handle WSP requests asynchronously, currently the asynchronous aspect can be handled by tevent and handing off the tracker related requests to a separate process, the downside is there is more overhead and alot of data more or less duplicated in the extra communication needed (and also an extra process). However, it should be possible instead to integrate glib events into tevent, this would allow the tracker aspects to be handled 'in-process' and additionally would benefit any other application using tevent wants to use/access glib libraries in the same way. Would like to investigate this concept further

Looking for mad skills in:

Nothing? Add some keywords!

This project is part of:

Hack Week 13


Comments

Be the first to comment!

Similar Projects

This project is one of its kind!