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

Reply via email to