
On 01/09/05, David Abrahams <dave@boost-consulting.com> wrote: Matt Hurd <matt.hurd@gmail.com> writes:
Please, whatever you can do! But please do a fresh rewrite. That doesn't mean you can't look at the old code; you just have to type new characters ;-)
OK, I'll start afresh. The code should be the easy part, the documentation will be the main body of work I suspect.
With such a restructure the various platforms could have different maintainers to eliminate a bit of the difficulty of trying to support such a cross platform library.
Makes sense.
I could pull together a basic posix-based implementation which could be used on win32 with the posix32 lib as well, though a native win32 should happen as most people would find the posix32 layer unacceptable. Perhaps the current implementation can be refactored to do this, but starting from a clean slate so that the work can be licensed under the boost license might be best.
Agree.
OK.
Level 0 - basic atomic ops, fencing, thread, mutex (normal, recursive, rw), condition - to be replaced and updated with the work happening elsewhere by Lea, Boehm etal. This should also replace the atomic ops used by shared_ptr over time. Should be in a style that suits generic programming via a consistent interface which is currently lacking.
Level 1 - futures, threadables, message queues, etc, primitives along the direction of Henney's work.
Level 2 - Framework abstractions to architect single process, multi-process, multi-computer workflows. Needs boost::net / comms to reach its potential.
Any thoughts?
Not familiar enough with the library internals to comment.
A solid level 0 that can quickly be adapted to the direction of the ISO C++ threading push and provide a foundation for the level 1 stuff wil be goal I guess. I expect there to be a level -1 that would support the level of control that 95% of us don't need with a couple of dozen synch primitives for various flavours of acquire release and the like. That is not for now. I'll add to the wiki or put up a page here at work to support the effort by first thing next week. Regards, Matt. matt@zomojo.com