[olsr-dev] IPC-Protocol / GUI
Thu Nov 18 15:12:55 CET 2004
Let me share some thoughts. In a first step, I think, a one-way IPC
interface that only enables reading olsrd's internal state would be a
good start. Apart from that we'd then only need a way to restart olsrd
via the IPC interface. Reconfiguration via a GUI could then work by
generating a temporary configuration file (with the configuration file
parser library that we have), stopping olsrd and restarting olsrd with
the newly generated configuration file. (That's similar to what the
Windows GUI currently does.) Obviously it would be nice to have "real"
reconfiguration via the IPC interface, as this would be cleaner and
would allow non-localhost GUI clients to reconfigure olsrd, but this
would not necessarily have to be in a first version, I think.
Andreas and I have talked about creating a new IPC interface in the past
and I was and I am willing to take care of it. We both hoped that
documenting the new IPC protocol would then enable somebody else to
write a nice and shiny GUI that takes advantage of the features of the
new IPC interface.
So, now it looks like we were right and that we have a first taker
(Marek) without even having asked for a taker, yet - cool.
I've just thought through all this again today and I'd still love to
write the plugin for the new IPC protocol. Unfortunately, this will not
happen before early 2005. So, starting with the GUI now and adding the
IPC interface once it is done in 2005 is definitely an option. As is me
looking for help for the IPC interface. I'll happily accept somebody
else's assistance in this, which will probably be somebody who is
familiar with olsrd's internal data structures and socket programming.
I've also been thinking about writing some HOWTO-style end-user
documentation. While we are at this, is there anybody out there who has
been dreaming of writing documentation for his or her whole life? (Hint,
hint, hint, ... :D)
If we decided to start with the GUI now, we should discuss what we'd
like to see in a first version of a GUI and an IPC interface.
More information about the Olsr-dev