| 22 | } |
| 23 | |
| 24 | type CachingResolver struct { |
| 25 | next Resolver |
| 26 | cache secache.Cache[resolverCacheKey, *resolverCacheValue] |
| 27 | sf singleflight.Group |
| 28 | posTTL time.Duration |
| 29 | negTTL time.Duration |
| 30 | timeout time.Duration |
| 31 | } |
| 32 | |
| 33 | func NewCachingResolver(next Resolver, posTTL, negTTL, timeout time.Duration) *CachingResolver { |
| 34 | return &CachingResolver{ |
nothing calls this directly
no outgoing calls
no test coverage detected