Hi David, I reviewed you changes, but rather than adopt these they have spurred me on to a wider refactor of how the RequestQueue/ReadQueue are managed, and have centralised more of the functionality into RequestQueue and replaced the sort() method usage with an O(n) algorithm for pruning and taking the highest priority DatabaseRequest.
I have also changed the list of DatabaseRequest from being a std::vector<> to a std::list<> as this avoids the need for shuffling elements in the vector when preparing to remove requests from the list, as std::list allows for element insertion and removal without changing existing iterators and without having to copy ref_ptr<>'s. While the implementation is bit different than yours the principle is the same - replacing the sort with a more efficient scheme. I have been testing the changes all morning and so far things look solid, so I've checked the changes in. Could you please check out svn/trunk and let me know if things are all working correctly and efficiently. Thanks, Robert. _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
