Changeset 8436
- Timestamp:
- 06/16/08 11:32:22
- Files:
-
- OpenSceneGraph/trunk/include/osgDB/DatabasePager (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
OpenSceneGraph/trunk/include/osgDB/DatabasePager
r8412 r8436 279 279 280 280 /** Report how many items are in the _dataToCompileList queue */ 281 unsigned int getDataToCompileListSize() const { return _dataToCompileList .size(); }281 unsigned int getDataToCompileListSize() const { return _dataToCompileList->_requestList.size(); } 282 282 283 283 … … 308 308 309 309 friend class DatabaseThread; 310 311 312 310 friend struct DatabaseRequest; 311 312 class RequestQueue; 313 313 314 314 struct DatabaseRequest : public osg::Referenced … … 322 322 _timestampLastRequest(0.0), 323 323 _priorityLastRequest(0.0f), 324 _numOfRequests(0) 324 _numOfRequests(0), 325 _requestQueue(0) 325 326 {} 326 327 … … 337 338 DataToCompileMap _dataToCompileMap; 338 339 osg::ref_ptr<ReaderWriter::Options> _loadOptions; 340 RequestQueue* _requestQueue; 339 341 340 342 bool isRequestCurrent (int frameNumber) const … … 344 346 }; 345 347 348 struct RequestQueue : public osg::Referenced 349 { 350 typedef std::list< osg::ref_ptr<DatabaseRequest> > RequestList; 351 352 RequestList _requestList; 353 OpenThreads::Mutex _requestMutex; 354 }; 355 356 346 357 typedef std::vector< osg::ref_ptr<DatabaseThread> > DatabaseThreadList; 347 typedef std::list< osg::ref_ptr<DatabaseRequest> > DatabaseRequestList;348 358 typedef std::vector< osg::ref_ptr<osg::Object> > ObjectList; 349 359 350 struct Re questQueue : public osg::Referenced351 { 352 Re questQueue(DatabasePager* pager, const std::string& name);360 struct ReadQueue : public RequestQueue 361 { 362 ReadQueue(DatabasePager* pager, const std::string& name); 353 363 354 364 void block() { _block->block(); } … … 372 382 DatabasePager* _pager; 373 383 std::string _name; 374 375 OpenThreads::Mutex _requestMutex;376 DatabaseRequestList _requestList;377 384 378 385 OpenThreads::Mutex _childrenToDeleteListMutex; … … 493 500 int _frameNumber; 494 501 495 osg::ref_ptr<RequestQueue> _fileRequestQueue; 496 osg::ref_ptr<RequestQueue> _httpRequestQueue; 497 498 //DatabaseRequestList _fileRequestList; 499 //mutable OpenThreads::Mutex _fileRequestListMutex; 500 501 DatabaseRequestList _dataToCompileList; 502 mutable OpenThreads::Mutex _dataToCompileListMutex; 502 osg::ref_ptr<ReadQueue> _fileRequestQueue; 503 osg::ref_ptr<ReadQueue> _httpRequestQueue; 504 505 506 osg::ref_ptr<RequestQueue> _dataToCompileList; 503 507 504 508 DrawablePolicy _drawablePolicy; … … 510 514 511 515 bool _deleteRemovedSubgraphsInDatabaseThread; 512 //ObjectList _childrenToDeleteList; 513 //mutable OpenThreads::Mutex _childrenToDeleteListMutex; 514 515 DatabaseRequestList _dataToMergeList; 516 mutable OpenThreads::Mutex _dataToMergeListMutex; 516 517 osg::ref_ptr<RequestQueue> _dataToMergeList; 517 518 518 519 PagedLODList _pagedLODList;
