From 895ba48db385fb42dd2345f92e3f2127a18ec684 Mon Sep 17 00:00:00 2001 From: Yelshat Duskaliyev Date: Mon, 10 Jun 2024 09:29:24 +0500 Subject: [PATCH] perf: use constructor for default lru, lazy init it --- interceptor.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/interceptor.go b/interceptor.go index 4576138..121ae82 100644 --- a/interceptor.go +++ b/interceptor.go @@ -32,12 +32,9 @@ type Interceptor struct { // NewInterceptor makes a new Interceptor. func NewInterceptor(opts ...Option) *Interceptor { - l, _ := lru.New[string, Entry](1024) - c := &Interceptor{ codec: RawBytesCodec{}, logger: slog.New(slog.NewTextHandler(io.Discard, nil)), - store: lruWrapper{backend: l}, filter: regexp.MustCompile(`.*`), } @@ -45,6 +42,11 @@ func NewInterceptor(opts ...Option) *Interceptor { opt(c) } + if c.store == nil { // lazy init for LRU + l, _ := lru.New[string, Entry](1024) + c.store = NewLRU(l) + } + return c }