[osg-users] Deferring loading in an DB ReaderWriter plugin

James Turner zakalawe at mac.com
Fri Nov 18 12:02:44 PST 2016


Hi,

I’m looking for some advice on deferring / stalling a DB read request for a period of time and then resuming it. (Or some equivalent) This is for a download-on-demand thing - inside the readNode() implementation I can detect that a given set of files needs to be downloaded, which may take many seconds depending on the user’s Internet connection. The download system is already separately threaded, but I need a way to suspend the request (or simulate the same) and then resume it / resubmit it.

I can imagine various solutions, eg returning a placeholder node and then when my download completes, re-running the load but passing in some special info including the placeholder as the parent. But I can also guess that this scenario is common enough to have some more explicit support in osgDB.

I can also imagine the Pager / Database ’s internal load queue must basically do what I need, if I could manipulate it directly. (Cancel the current item, stash it somewhere and resubmit when some condition occurs) But I’ve not seen any examples of doing that (I am going to look for them now).

So, any advice or thoughts are much appreciated. 

Kind regards,
James


More information about the osg-users mailing list