12#include <QMutexLocker>
28 : QNetworkDiskCache (parent)
43 return QNetworkDiskCache::data (
url);
49 if (!PendingDev2Url_.contains (
device))
52 <<
"stall device detected";
56 PendingUrl2Devs_ [PendingDev2Url_.take (
device)].removeAll (
device);
58 CurrentSize_ +=
device->size ();
59 QNetworkDiskCache::insert (
device);
65 return QNetworkDiskCache::metaData (
url);
71 const auto dev = QNetworkDiskCache::prepare (
metadata);
80 for (
const auto dev : PendingUrl2Devs_.take (
url))
81 PendingDev2Url_.remove (
dev);
82 return QNetworkDiskCache::remove (
url);
88 QNetworkDiskCache::updateMetaData (
metaData);
Garbage collection for a set of network disk caches.
static NetworkDiskCacheGC & Instance()
Returns a single global instance of the GC manager.
qint64 cacheSize() const override
Reimplemented from QNetworkDiskCache.
QIODevice * data(const QUrl &url) override
Reimplemented from QNetworkDiskCache.
bool remove(const QUrl &url) override
Reimplemented from QNetworkDiskCache.
void updateMetaData(const QNetworkCacheMetaData &metaData) override
Reimplemented from QNetworkDiskCache.
qint64 expire() override
Reimplemented from QNetworkDiskCache.
NetworkDiskCache(const QString &subpath, QObject *parent=nullptr)
Constructs the new disk cache.
QNetworkCacheMetaData metaData(const QUrl &url) override
Reimplemented from QNetworkDiskCache.
void insert(QIODevice *device) override
Reimplemented from QNetworkDiskCache.
QIODevice * prepare(const QNetworkCacheMetaData &) override
Reimplemented from QNetworkDiskCache.
Container< T > Filter(const Container< T > &c, F f)
@ Cache
Cache for volatile data.
QDir GetUserDir(UserDir dir, const QString &subpath)