Hi, Today we finally managed to merge network services - the result of Kyle's and Alexis' SOC 2006 projects - into SVN trunk. Network services are now queried and results appear in both - beagle-query and beagle search.
To enable network services in the build you have to pass the --enable-avahi switch to configure/autogen.sh. They are disabled for the time being. To be able to query remote services you have to register with them. You can do this by using either beagle-config or beagle-settings. Both tools use Avahi to discover available services and provide them in fashioned manner. To make the Beagle daemon provide network services you have to launch it with the --network argument. Other than that everything is automated. But remember, you have to register it on the client side from which you are querying (as mentioned above). When using beagle-query don't forget to pass "--network yes" to get remote results. In beagle-search searching remote services is on by default. I have tested the code, but as always keep your eyes open for exceptions and crashes (which are rare, but I have seen some - most likely from Avahi - but could not reproduce them). On the developer side, we need to agree on a service discovery policy. The main decision we are facing here is if we should look for new services every time we create a new query or just use the ones that we already added to our registered network services (either using beagle-config or beagle-settings). Going the first approach we are able to determine which services are running at the moment (and also notify the user of new available services) and after filtering them against our registered services list we are able to make a final list of services to search. The latter approach will probably be better performance wise since I don't know how performance-wise service discovery is, but this shouldn't make a difference since results come in asynchronously. So as long as it does not affect the local return results speed we can go for whichever we like more. I also have a small TODO list, so if anyone wants to help it is up for grabs! TODO: • BeagleClient/Query.cs - Remove duplicate code based on service discovery policy (see below) • Random crashes - most likely caused by Avahi • Changes to services list in the networking config must directly • Remote results in beagle-search should go away when remote service shuts down • We need to find a way to deffer the network results from the local ones in beagle-search • Searching network services is on by default in beagle-search, we need to add an option (either to beagle-settings or the main menu to disable it) • Service discovery happens on the daemon side for each instance of Query as well as on the client side • Add option to automatically search password not-protected services There have been some minor changes to the client API, so if you experience build problems problems or any inconsistency in your Beagle-charged applications please give us feedback. Best of luck! :-) Lukas _______________________________________________ Dashboard-hackers mailing list [email protected] http://mail.gnome.org/mailman/listinfo/dashboard-hackers
