aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/cache/state.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/feed/cache/state.go')
-rw-r--r--internal/feed/cache/state.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/internal/feed/cache/state.go b/internal/feed/cache/state.go
index 2df0c74..ce6723a 100644
--- a/internal/feed/cache/state.go
+++ b/internal/feed/cache/state.go
@@ -11,6 +11,7 @@ import (
type State struct {
feeds map[string]*feed.Feed
cachedFeeds map[string]CachedFeed
+ knownFeeds map[feed.Descriptor]bool
cache Cache
cfg *config.Config
}
@@ -55,6 +56,7 @@ func (state *State) LoadCache(fileName string, forceNew bool) error {
for name, feed := range state.feeds {
state.cachedFeeds[name] = cache.cachedFeed(feed)
+ state.knownFeeds[feed.Descriptor()] = true
}
// state.feeds should not be used after loading the cache --> enforce a panic
@@ -64,6 +66,7 @@ func (state *State) LoadCache(fileName string, forceNew bool) error {
}
func (state *State) StoreCache(fileName string) error {
+ state.cache.cleanup(state.knownFeeds)
return state.cache.store(fileName)
}
@@ -115,9 +118,11 @@ func (state *State) Filter() {
}
func NewState(cfg *config.Config) (*State, error) {
+ numFeeds := len(cfg.Feeds)
state := State{
- feeds: map[string]*feed.Feed{},
- cachedFeeds: map[string]CachedFeed{},
+ feeds: make(map[string]*feed.Feed, numFeeds),
+ cachedFeeds: make(map[string]CachedFeed, numFeeds),
+ knownFeeds: make(map[feed.Descriptor]bool, numFeeds),
cache: Cache{}, // loaded later on
cfg: cfg,
}
='deletions'>-3/+6 2008-03-18Fixed new_use_flag creation errorRené 'Necoro' Neumann1-3/+3 2008-03-18keep i18n up2dateRené 'Necoro' Neumann3-326/+366 2008-03-18corrected header commentRené 'Necoro' Neumann1-2/+2 2008-03-18Removed gtk subdirRené 'Necoro' Neumann21-134/+79 2008-03-18Removed wrapperRené 'Necoro' Neumann2-238/+184 2008-03-18Split and renamed gui_helperRené 'Necoro' Neumann4-249/+266 2008-03-18Splitted windows.pyRené 'Necoro' Neumann10-424/+549 2008-03-12Moved get_dependencies to top package classRené 'Necoro' Neumann4-50/+85 2008-03-11improved performance by caching the use_expand queriesRené 'Necoro' Neumann1-5/+14 2008-03-11use catapult varsRené 'Necoro' Neumann2-4/+6 2008-03-11Updated catapult stuffRené 'Necoro' Neumann5-56/+108 2008-03-10Generate correct KeyNotFoundExceptionRené 'Necoro' Neumann1-2/+2 2008-03-09Small changesRené 'Necoro' Neumann3-1/+4 2008-03-07Better session handlingRené 'Necoro' Neumann1-5/+54 2008-03-07Small changesRené 'Necoro' Neumann1-1/+4 2008-03-07Updated shm module to 1.2René 'Necoro' Neumann1-8/+21 2008-03-07Update TODORené 'Necoro' Neumann1-3/+1 2008-03-07hmm ... yesRené 'Necoro' Neumann1-1/+1 2008-03-06Used better exceptions for configuration parserRené 'Necoro' Neumann1-26/+114 2008-03-06Update translationRené 'Necoro' Neumann2-349/+393 2008-03-06Update createpot.shRené 'Necoro' Neumann1-3/+2 2008-03-06Use 'nofork' instead of 'nolistener'René 'Necoro' Neumann1-3/+3 2008-03-05Install glade files into template dir and not data dirRené 'Necoro' Neumann2-2/+1 2008-03-05Added dependency listRené 'Necoro' Neumann3-117/+237