Skip to content

Commit 3e5dbee

Browse files
committed
We don't need to store local copies of cachedResponses
1 parent 068509e commit 3e5dbee

1 file changed

Lines changed: 10 additions & 15 deletions

File tree

dnscrypt-proxy/plugin_cache.go

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ func computeCacheKey(pluginsState *PluginsState, msg *dns.Msg) ([32]byte, error)
4848
// ---
4949

5050
type PluginCache struct {
51-
cachedResponses *CachedResponses
5251
}
5352

5453
func (plugin *PluginCache) Name() string {
@@ -72,18 +71,16 @@ func (plugin *PluginCache) Reload() error {
7271
}
7372

7473
func (plugin *PluginCache) Eval(pluginsState *PluginsState, msg *dns.Msg) error {
75-
plugin.cachedResponses = &cachedResponses
76-
7774
cacheKey, err := computeCacheKey(pluginsState, msg)
7875
if err != nil {
7976
return nil
8077
}
81-
plugin.cachedResponses.RLock()
82-
defer plugin.cachedResponses.RUnlock()
83-
if plugin.cachedResponses.cache == nil {
78+
cachedResponses.RLock()
79+
defer cachedResponses.RUnlock()
80+
if cachedResponses.cache == nil {
8481
return nil
8582
}
86-
cachedAny, ok := plugin.cachedResponses.cache.Get(cacheKey)
83+
cachedAny, ok := cachedResponses.cache.Get(cacheKey)
8784
if !ok {
8885
return nil
8986
}
@@ -108,7 +105,6 @@ func (plugin *PluginCache) Eval(pluginsState *PluginsState, msg *dns.Msg) error
108105
// ---
109106

110107
type PluginCacheResponse struct {
111-
cachedResponses *CachedResponses
112108
}
113109

114110
func (plugin *PluginCacheResponse) Name() string {
@@ -132,7 +128,6 @@ func (plugin *PluginCacheResponse) Reload() error {
132128
}
133129

134130
func (plugin *PluginCacheResponse) Eval(pluginsState *PluginsState, msg *dns.Msg) error {
135-
plugin.cachedResponses = &cachedResponses
136131
if msg.Rcode != dns.RcodeSuccess && msg.Rcode != dns.RcodeNameError && msg.Rcode != dns.RcodeNotAuth {
137132
return nil
138133
}
@@ -148,16 +143,16 @@ func (plugin *PluginCacheResponse) Eval(pluginsState *PluginsState, msg *dns.Msg
148143
expiration: time.Now().Add(ttl),
149144
msg: *msg,
150145
}
151-
plugin.cachedResponses.Lock()
152-
if plugin.cachedResponses.cache == nil {
153-
plugin.cachedResponses.cache, err = lru.NewARC(pluginsState.cacheSize)
146+
cachedResponses.Lock()
147+
if cachedResponses.cache == nil {
148+
cachedResponses.cache, err = lru.NewARC(pluginsState.cacheSize)
154149
if err != nil {
155-
plugin.cachedResponses.Unlock()
150+
cachedResponses.Unlock()
156151
return err
157152
}
158153
}
159-
plugin.cachedResponses.cache.Add(cacheKey, cachedResponse)
160-
plugin.cachedResponses.Unlock()
154+
cachedResponses.cache.Add(cacheKey, cachedResponse)
155+
cachedResponses.Unlock()
161156
updateTTL(msg, cachedResponse.expiration)
162157

163158
return nil

0 commit comments

Comments
 (0)