diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-04-01 00:23:17 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-04-01 00:23:17 +0200 |
commit | 3b6574181e5e0a5d99ed9dcdb5cb9a47af2499d0 (patch) | |
tree | 1fd0d4b4dbda6883553b058453c3d6fb2629242c /logic/net/HttpMetaCache.cpp | |
parent | eae544f0ebc26a2b103091b93d4f7c4188d00cff (diff) | |
download | MultiMC-3b6574181e5e0a5d99ed9dcdb5cb9a47af2499d0.tar MultiMC-3b6574181e5e0a5d99ed9dcdb5cb9a47af2499d0.tar.gz MultiMC-3b6574181e5e0a5d99ed9dcdb5cb9a47af2499d0.tar.lz MultiMC-3b6574181e5e0a5d99ed9dcdb5cb9a47af2499d0.tar.xz MultiMC-3b6574181e5e0a5d99ed9dcdb5cb9a47af2499d0.zip |
GH-853 evict asset index files from cache when they don't parse
Diffstat (limited to 'logic/net/HttpMetaCache.cpp')
-rw-r--r-- | logic/net/HttpMetaCache.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/logic/net/HttpMetaCache.cpp b/logic/net/HttpMetaCache.cpp index eb13ee6b..4533a736 100644 --- a/logic/net/HttpMetaCache.cpp +++ b/logic/net/HttpMetaCache.cpp @@ -135,6 +135,17 @@ bool HttpMetaCache::updateEntry(MetaEntryPtr stale_entry) return true; } +bool HttpMetaCache::evictEntry(MetaEntryPtr entry) +{ + if(entry) + { + entry->stale = true; + SaveEventually(); + return true; + } + return false; +} + MetaEntryPtr HttpMetaCache::staleEntry(QString base, QString resource_path) { auto foo = new MetaEntry; @@ -228,6 +239,11 @@ void HttpMetaCache::SaveNow() { for (auto entry : group.entry_list) { + // do not save stale entries. they are dead. + if(entry->stale) + { + continue; + } QJsonObject entryObj; entryObj.insert("base", QJsonValue(entry->base)); entryObj.insert("path", QJsonValue(entry->path)); |