{"push_id":1227928279,"size":1,"distinct_size":1,"ref":"refs/heads/7079_OgreDDSCodec_cpp_MissingOgrePixelBoxInclude","head":"63fc2d4c5a230c6fe473977db3d33ad1d86f0ad6","before":"4baea2676286ed9e78546967fbbb52825708012a","commits":[{"sha":"63fc2d4c5a230c6fe473977db3d33ad1d86f0ad6","author":{"name":"Steve Streeting","email":"5eb4f8ae09d1b5661f1add989b1c3fabe443bd83@stevestreeting.com"},"message":"Add WorkQueue - a general-purpose utility class for pushing work onto a queue for many worker threads to process (WIP - so far untested)\nThis is like a generalised & enhanced version of ResourceBackgroundQueue; it supports:\n- concurrent tasks for any purpose, categorised by 'channels', with input / output data being passed around in an Any\n- registerable request / response handlers for any purpose, organised by 'channel'\n- multiple worker threads, which share the load for all channels\n- channels might be resource tasks, paging tasks, other domain-specific tasks\n- registering worker threads with the RenderSystem is optional (default is not to do this, so workers would not access RenderSystem resources)\n\nThe idea here is to have a small pool of shared background threads that can process many types of task, while still keeping the actual functionality neatly separated (in handlers). The more threaded processing we do, the more important it is to share threads for many purposes. ResourceBackgroundQueue could be reimplemented in terms of this new class later (note that when OGRE_THREAD_SUPPORT=1, the queue would need to register its threads with the render system, but not when OGRE_THREAD_SUPPORT=2.","distinct":true,"url":"https://api.github.com/repos/digimatic/ogre/commits/63fc2d4c5a230c6fe473977db3d33ad1d86f0ad6"}]}
{"actor":{"display_login":"digimatic"}}