Hi Adrian,

I'm afraid I had a real hard time following your post.  I think what
it boils down to is that you want to be able to choose which
DatabaseThreads accept or pass on requests as the http file vs local
file requests are appropriate for your tileid based filename handles.
I will need to think about this topic further to see what tweaks can
be made to make it more customisable.

Robert.

On Thu, Nov 13, 2008 at 8:01 AM, Adrian Egli OpenSceneGraph (3D)
<[EMAIL PROTECTED]> wrote:
> Hi Robert,
>
> I did a review of the HTTP and NON HTTP pager file read. I still use the
> readNodeFile callback mechansim and this work. But for our
> work, it's not only there a good idea to pass the custom code, because the
> generation of the custom database (on the flow) doesn't
> work as fast as the file read is. so if we are moving around over the
> terrain, and once we come back to  a position we still were, and
> the database pager should read all files still generated and there is one
> missing and unfortunately the missing one has the highest
> prio it will take that one, then the other will not paged in as long as the
> missing one is generating, but it should be loaded all others,
> and once the missing once is generated it will immedently paged in. like the
> http request, if it's in the cache then we can load it without
> downloading, directly read in.
>
> so may we should change the mechansime, its not really general implemented:
>
> you assume that we have only HTTP or NON HTTP, non http is no problem there
> is only files. also cached ones and so.
> but if we don't have http:// starting file names, you assume that it's a
> file. but may it's a database request code for the tile gerneration
> instead of a real existing file name, if we have such  information, then we
> should be able to check the "filename"/ "request" not only
> against http:// starting string may we can append a user request qeueu and a
> user thread to pregenerate / preread the files. we should only
> have a method
>
> itr : Iterate over all QUEUEandThread  (non http, http, user )  {
>
> if ( itr->requestForThisQueue(databaseRequest->_fileName)) {
>
> itr->queue....
>
> }
>
> }
>
> Class QUEUEandThread {
>
> DatabaseThread _thread;
> RequestQueue   _queue;
>
> bool requestForThisQueue(std::string reqStr) {
>   // if HTTP queue is
>    return osgDB::containsServerAddress(reqStr)
> }
> }
>
>
> so we would be able to append user requests queues very fast and the code
> will be more general for future task.
>
> /adrian
>
> 2008/11/12 Robert Osfield <[EMAIL PROTECTED]>
>>
>> Hi Adrian,
>>
>> On Wed, Nov 12, 2008 at 6:39 PM, Adrian Egli OpenSceneGraph (3D)
>> <[EMAIL PROTECTED]> wrote:
>> > Ok i see, so you would append a custum reading thread to the osg
>> > database to
>> > avoid subclassing.
>>
>> There shouldn't be any need for a custom reading thread, just use the
>> existing threads to call you code via the osgDB::readNodeFile
>> mechanism - just put your code in a plugin and let the OSG call it.
>>
>> Robert.
>> _______________________________________________
>> osg-users mailing list
>> osg-users@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
> --
> ********************************************
> Adrian Egli
>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to