mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
[not part of build]
Changed OnDataSizeChanged() to OnDataSizeChange() and added a deltaSize parameter. Added OnDataSizeChange() method on nsCacheService so we can grab the service lock and bind the entry if necessary. Commented out the implementation of nsCacheEntryDescriptor::AsyncWrite(), since we are not planning to provide it.
This commit is contained in:
parent
be17f5220d
commit
31f6b6c7a1
2
netwerk/cache/src/nsCacheDevice.h
vendored
2
netwerk/cache/src/nsCacheDevice.h
vendored
@ -50,7 +50,7 @@ public:
|
||||
nsCacheAccessMode mode,
|
||||
nsITransport **result ) = 0;
|
||||
|
||||
virtual nsresult OnDataSizeChanged( nsCacheEntry * entry ) = 0;
|
||||
virtual nsresult OnDataSizeChange( nsCacheEntry * entry, PRInt32 deltaSize ) = 0;
|
||||
|
||||
//** need to define methods for enumerating entries
|
||||
};
|
||||
|
10
netwerk/cache/src/nsCacheEntryDescriptor.cpp
vendored
10
netwerk/cache/src/nsCacheEntryDescriptor.cpp
vendored
@ -174,6 +174,11 @@ NS_IMETHODIMP nsCacheEntryDescriptor::SetDataSize(PRUint32 dataSize)
|
||||
{
|
||||
if (!mCacheEntry) return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
//** check for signed/unsigned math errors
|
||||
PRInt32 deltaSize = dataSize - mCacheEntry->DataSize();
|
||||
|
||||
// ignore return value, this call instance is advisory
|
||||
(void) nsCacheService::GlobalInstance()->OnDataSizeChange(mCacheEntry, deltaSize);
|
||||
mCacheEntry->SetDataSize(dataSize);
|
||||
return NS_OK;
|
||||
}
|
||||
@ -436,6 +441,10 @@ nsCacheEntryDescriptor::AsyncWrite(nsIStreamProvider * provider,
|
||||
PRUint32 flags,
|
||||
nsIRequest ** result)
|
||||
{
|
||||
// we're not planning on implementing this
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
|
||||
#if 0
|
||||
NS_ENSURE_ARG_POINTER(result);
|
||||
if (!mCacheEntry) return NS_ERROR_NOT_AVAILABLE;
|
||||
if (!(mAccessGranted & nsICache::ACCESS_WRITE))
|
||||
@ -450,4 +459,5 @@ nsCacheEntryDescriptor::AsyncWrite(nsIStreamProvider * provider,
|
||||
}
|
||||
|
||||
return mTransport->AsyncWrite(provider, ctxt, offset, count, flags, result);
|
||||
#endif
|
||||
}
|
||||
|
25
netwerk/cache/src/nsCacheService.cpp
vendored
25
netwerk/cache/src/nsCacheService.cpp
vendored
@ -408,10 +408,28 @@ nsCacheService::DoomEntry_Internal(nsCacheEntry * entry)
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
nsresult
|
||||
nsCacheService::GetTransportForEntry(nsCacheEntry * entry,
|
||||
nsCacheAccessMode mode,
|
||||
nsITransport **result)
|
||||
nsCacheService::OnDataSizeChange(nsCacheEntry * entry, PRInt32 deltaSize)
|
||||
{
|
||||
nsAutoLock lock(mCacheServiceLock);
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
nsCacheDevice * device = entry->CacheDevice();
|
||||
if (!device) {
|
||||
rv = BindEntry(entry);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
device = entry->CacheDevice();
|
||||
}
|
||||
return device->OnDataSizeChange(entry, deltaSize);
|
||||
}
|
||||
|
||||
|
||||
nsresult
|
||||
nsCacheService::GetTransportForEntry(nsCacheEntry * entry,
|
||||
nsCacheAccessMode mode,
|
||||
nsITransport ** result)
|
||||
{
|
||||
nsAutoLock lock(mCacheServiceLock);
|
||||
nsresult rv = NS_OK;
|
||||
@ -423,7 +441,6 @@ nsCacheService::GetTransportForEntry(nsCacheEntry * entry,
|
||||
|
||||
device = entry->CacheDevice();
|
||||
}
|
||||
|
||||
return device->GetTransportForEntry(entry, mode, result);
|
||||
}
|
||||
|
||||
|
7
netwerk/cache/src/nsCacheService.h
vendored
7
netwerk/cache/src/nsCacheService.h
vendored
@ -71,7 +71,12 @@ public:
|
||||
* Methods called by nsCacheEntryDescriptor
|
||||
*/
|
||||
|
||||
nsresult GetTransportForEntry(nsCacheEntry * entry, nsCacheAccessMode mode, nsITransport **result);
|
||||
nsresult OnDataSizeChange(nsCacheEntry * entry, PRInt32 deltaSize);
|
||||
|
||||
nsresult GetTransportForEntry(nsCacheEntry * entry,
|
||||
nsCacheAccessMode mode,
|
||||
nsITransport ** result);
|
||||
|
||||
void CloseDescriptor(nsCacheEntryDescriptor * descriptor);
|
||||
|
||||
|
||||
|
7
netwerk/cache/src/nsDiskCacheDevice.cpp
vendored
7
netwerk/cache/src/nsDiskCacheDevice.cpp
vendored
@ -157,7 +157,7 @@ nsDiskCacheDevice::FindEntry(nsCString * key)
|
||||
nsCacheEntry * entry = mInactiveEntries.GetEntry(key);
|
||||
if (!entry) return nsnull;
|
||||
|
||||
//** need entry->UpdateFrom(ourEntry);
|
||||
//** need nsCacheService::CreateEntry();
|
||||
entry->MarkActive(); // so we don't evict it
|
||||
//** find eviction element and move it to the tail of the queue
|
||||
|
||||
@ -175,7 +175,7 @@ nsDiskCacheDevice::DeactivateEntry(nsCacheEntry * entry)
|
||||
if (!ourEntry)
|
||||
return NS_ERROR_INVALID_POINTER;
|
||||
|
||||
//** need ourEntry->UpdateFrom(entry);
|
||||
//** update disk entry from nsCacheEntry
|
||||
//** MarkInactive(); // to make it evictable again
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
@ -277,8 +277,9 @@ nsDiskCacheDevice::GetTransportForEntry(nsCacheEntry * entry,
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsDiskCacheDevice::OnDataSizeChanged(nsCacheEntry * entry)
|
||||
nsDiskCacheDevice::OnDataSizeChange(nsCacheEntry * entry, PRInt32 deltaSize)
|
||||
{
|
||||
//** keep track of totals
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
2
netwerk/cache/src/nsDiskCacheDevice.h
vendored
2
netwerk/cache/src/nsDiskCacheDevice.h
vendored
@ -48,7 +48,7 @@ public:
|
||||
nsCacheAccessMode mode,
|
||||
nsITransport ** result);
|
||||
|
||||
virtual nsresult OnDataSizeChanged(nsCacheEntry * entry);
|
||||
virtual nsresult OnDataSizeChange(nsCacheEntry * entry, PRInt32 deltaSize);
|
||||
|
||||
void setCacheDirectory(nsILocalFile* directory);
|
||||
|
||||
|
10
netwerk/cache/src/nsMemoryCacheDevice.cpp
vendored
10
netwerk/cache/src/nsMemoryCacheDevice.cpp
vendored
@ -108,9 +108,9 @@ nsMemoryCacheDevice::DoomEntry(nsCacheEntry * entry)
|
||||
|
||||
|
||||
nsresult
|
||||
nsMemoryCacheDevice::GetTransportForEntry( nsCacheEntry * entry,
|
||||
nsMemoryCacheDevice::GetTransportForEntry( nsCacheEntry * entry,
|
||||
nsCacheAccessMode mode,
|
||||
nsITransport **transport )
|
||||
nsITransport ** transport )
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(entry);
|
||||
NS_ENSURE_ARG_POINTER(transport);
|
||||
@ -136,10 +136,12 @@ nsMemoryCacheDevice::GetTransportForEntry( nsCacheEntry * entry,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
nsresult
|
||||
nsMemoryCacheDevice::OnDataSizeChanged( nsCacheEntry * entry )
|
||||
nsMemoryCacheDevice::OnDataSizeChange( nsCacheEntry * entry, PRInt32 deltaSize)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
//** keep track of totals
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
//** need methods for enumerating entries
|
||||
|
2
netwerk/cache/src/nsMemoryCacheDevice.h
vendored
2
netwerk/cache/src/nsMemoryCacheDevice.h
vendored
@ -48,7 +48,7 @@ public:
|
||||
nsCacheAccessMode mode,
|
||||
nsITransport **transport );
|
||||
|
||||
virtual nsresult OnDataSizeChanged( nsCacheEntry * entry );
|
||||
virtual nsresult OnDataSizeChange( nsCacheEntry * entry, PRInt32 deltaSize );
|
||||
|
||||
private:
|
||||
nsCacheEntryHashTable mInactiveEntries;
|
||||
|
Loading…
Reference in New Issue
Block a user