Index: OpenSceneGraph/trunk/include/osgDB/Registry
===================================================================
--- OpenSceneGraph/trunk/include/osgDB/Registry (revision 10227)
+++ OpenSceneGraph/trunk/include/osgDB/Registry (revision 10520)
@@ -419,16 +419,19 @@
           * This would typically be called once per frame by applications which are doing database paging,
           * and need to prune objects that are no longer required.
-          * Time value is time in seconds.*/
-        void updateTimeStampOfObjectsInCacheWithExternalReferences(double currentTime);
+          * The time used is taken from the FrameStamp::getReferenceTime().*/
+        void updateTimeStampOfObjectsInCacheWithExternalReferences(const osg::FrameStamp& frameStamp);
 
         /** Removed object in the cache which have a time stamp at or before the specified expiry time.
           * This would typically be called once per frame by applications which are doing database paging,
           * and need to prune objects that are no longer required, and called after the a called
-          * after the call to updateTimeStampOfObjectsInCacheWithExternalReferences(currentTime). 
-          * Note, the currentTime is not the expiryTime, one would typically set the expiry time
-          * to a fixed amount of time before currentTime, such as expiryTime = currentTime-10.0.
-          * Time value is time in seconds.*/
-        void removeExpiredObjectsInCache(double expiryTime);
-        
+          * after the call to updateTimeStampOfObjectsInCacheWithExternalReferences(frameStamp).*/
+        void removeExpiredObjectsInCache(const osg::FrameStamp& frameStamp);
+
+        /** set hint to viewer code calling removeExpiredObjectsInCache to specify how long it should give before expiring objects in Registry cache,*/
+        void setExpiryDelay(double expiryDelay) { _expiryDelay = expiryDelay; }
+
+        double getExpiryDelay() const { return _expiryDelay; }
+
+
         /** Remove all objects in the cache regardless of having external references or expiry times.*/ 
         void clearObjectCache();
@@ -600,4 +603,5 @@
         FilePathList                            _libraryFilePath;
 
+        double                                  _expiryDelay;
         ObjectCache                             _objectCache;
         OpenThreads::Mutex                      _objectCacheMutex;
