From cee889bd5865956c738ae0b03063e7c6be426629 Mon Sep 17 00:00:00 2001 From: Colin Axner Date: Mon, 23 Nov 2020 15:36:27 +0100 Subject: [PATCH 1/2] Add Reset func to memo Add a new function Reset to memo to forcibly reset the cache --- memo/memo.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/memo/memo.go b/memo/memo.go index a31c8be..893bc79 100644 --- a/memo/memo.go +++ b/memo/memo.go @@ -67,3 +67,12 @@ func (memo *Memo) Get() (value interface{}, err error) { } return memo.cache.res.value, memo.cache.res.err } + +// Reset forcibly resets the cache to nil. +func (memo *Memo) Reset() { + defer memo.mu.Unlock() + memo.mu.Lock() + + memo.cache = nil + memo.lastCache = time.Now() +} From 7ddb288ae33e93666bad79e93c7bd0da9db5d791 Mon Sep 17 00:00:00 2001 From: Colin Axner Date: Sun, 6 Dec 2020 12:06:51 +0100 Subject: [PATCH 2/2] add godoc --- memo/memo.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/memo/memo.go b/memo/memo.go index 893bc79..8a88ccd 100644 --- a/memo/memo.go +++ b/memo/memo.go @@ -68,7 +68,8 @@ func (memo *Memo) Get() (value interface{}, err error) { return memo.cache.res.value, memo.cache.res.err } -// Reset forcibly resets the cache to nil. +// Reset forcibly resets the cache to nil without checking if the cache +// duration has elapsed. func (memo *Memo) Reset() { defer memo.mu.Unlock() memo.mu.Lock()