After Steve dropped his note about future corosync development it might make sense to let you know where we are with libqb.
So far I have done the following: - imported code from corosync - namespaced everything with "qb_" to prevent name clashes. - Re licensed to LGPL-2.1 (thanks to all relevant contributors) - seperated out the ringbuffer functionality out of logsys into seperate files. - improved on the ringbuffer to make it usable accross processes - used the ringbuffer to implement a non blocking ipc send (with flow control). - started using check (http://check.sourceforge.net/) to do unit testing. - started documenting the newer API's using doxygen (to produce man pages and html) - setup up a wiki I will now start releasing 0.Y.0 releases simply as milestones (as API will change until 1.0). I plan to release to following features up until libqb-1.0. This is early and will probably change but should show the direction I am trying to take. Taken from http://www.libqb.org/wiki/index.php/Todo_List which I'll keep up-to-date. Please feel free to suggest any other ideas / suggestions. ==== Ongoing items ==== * coding style ** basically kernel coding style ** define a return code coding style for API ** work towards consistency by 1.0 * Write unit test cases for as much code as possible. * document all API using doxygen in the headers * wiki: FAQ ==== libqb-0.1.0 ==== * code: change all ints to [u]intXX_t * wiki: contributer howto (coding style) ==== libqb-0.2.0 ==== * code: Make sure the poll loop and IPC system can safely operate in other threading models (not * just corosync). ** Have a close look at the poll loop. ** Create a way of safely passing jobs/messages from thread to thread. ==== libqb-0.3.0 ==== * code: I want to make the IPC API easier to use. ** The server side takes ~300 lines to setup. I want it easier to use. ==== libqb-0.4.0 ==== * code: Implement atomic_get/set/incr functions (or copy from glib/libatomic/...). ** Use these instead of shared locks in the ringbuffer. ** Use these in the handle db instead of locks for reference counters. ==== libqb-0.5.0 ==== * code: simplify / cleanup logsys ==== libqb-0.6.0 ==== * code: data structures ** cleanup make the API more consistent. ** should there be locking in the data structures (easy of use/flexibility)? ==== libqb-0.7.0 ==== * code: Provide some integration (or at least examples) with glib and libevent. * code/docs: C examples * infrastructure: buildbot ==== libqb-0.8.0 ... libqb-1.0.0 ==== * code: support porting corosync-3.0 (and any other project) to libqb * code: Write lots of unit test cases. * wiki: support - user howto - links to doxygen Regards Angus Salkeld _______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
