Implement simple LRU eviction mechanism for nsMemoryCacheDevice.
Add cleanup code to nsCacheService to fix intermittent crashes on shutdown.
Calculate MetaData size, and update field in nsCacheEntry.
Begin implmentation of nsICacheDeviceInfo in nsMemoryCacheDevice for about:cache.
Added various statistics to nsCacheService and nsMemoryCacheDevice.
git-svn-id: svn://10.0.0.236/trunk@89508 18797224-902f-48f8-a5cc-f745e15eee43
Added rough cut of pref code for memory cache device to get cache size, and implemented simple eviction method.
Restructured nsCacheEntryDescriptor to add SecurityInfo attribute. Created nsTransportWrapper as nested class (and member) that addrefs the descriptor instead of itself (like nsPipe). Also rename nsCacheOutputStream to nsOutputStreamWrapper and made it a nested class as well.
git-svn-id: svn://10.0.0.236/trunk@88816 18797224-902f-48f8-a5cc-f745e15eee43
Restructured open cache entry code in preparation for async implementation, to better share code with synchronous version.
Changed nsCacheRequest, nsCacheEntry, nsCacheEntryDescriptor to inherit from PRCList rather than include mListLink member, and removed extraneous GetListNode/GetInstance methods.
Consolidated mAccessRequested, mStreamBased, and mStoragePolicy into a single PRUint32 in nsCacheRequest. Added PRLock, PRCondVar, and a 'wait for validation' flag, used for synchronously opening cache entries. Added accessor functions for these "attributes".
Record current event queue for asychronous requests to be used with GetProxyForObject(). Removed mRequestThread.
git-svn-id: svn://10.0.0.236/trunk@88535 18797224-902f-48f8-a5cc-f745e15eee43
Add utility method to nsCacheEntryDescriptor to change the data size for the associated cache entry.
git-svn-id: svn://10.0.0.236/trunk@88309 18797224-902f-48f8-a5cc-f745e15eee43
Changed nsCacheEntryDescriptor to implement nsITransport as a wrapper that checks access priviledges for the underlying transport provided by the device.
Added code to lazily allocate the underlying transport for the cache descriptor.
Added NS_ENSURE_ARG_POINTER() to all necessary interface methods. r=beard.
git-svn-id: svn://10.0.0.236/trunk@88261 18797224-902f-48f8-a5cc-f745e15eee43