On Saturday 08 March 2008 12:13:40 Henrik Stoerner wrote:
On Sat, Mar 08, 2008 at 10:20:20AM +0100, Ulric Eriksson wrote:
As developer of another Hobbit client, I would prefer the opposite:
replace the big switch in hobbitd_client.c with something that allows
independent development of clients. As it is, developing a new client
requires patching Hobbit or sticking with the old Big Brother protocol.
Agreed, that would be nice. It wasn't a concern back when I wrote the
original code, but it has become more pressing nowadays.
There is a way around it, though - you can build a separate
hobbitd_myclient module using bits and pieces from the Hobbit code,
merged with your own module. It isn't the most elegant of solutions -
you'll need to run both the standard hobbitd_client and your own in
parallel - but it is a way around it.
There are also some licensing issues with incorporating Hobbit code into
your own module - you'll have to release your code under GPL. Don't know
if that's an issue for You.
A plugin interface could solve this, only the plugin would need to be under
the GPL.
Hacking up parts of Hobbit, resulting in patches that overlap, and which may
never be merged is heading everyone who needs rrd support not provided by
Hobbit towards a maintenance nightmare.
Exposing some of the internal hobbit functions in a shared library would have
other advantages too, especially if they were (possibly by other parties)
exposed to other languages (perl, python) via bindings. I am thinking
specifically of configuration parsing, threshold management etc.
Regards,
Buchan