addressed review comments

Signed-off-by: tanujd11 <dwiveditanuj41@gmail.com>
This commit is contained in:
tanujd11 2024-10-17 01:48:38 +05:30
parent faced93ba2
commit f6bafb14e1

View File

@ -27,7 +27,8 @@ type zonesCache[T any] struct {
zones []T zones []T
} }
// Reset method to reset the zones and update the age // Reset method to reset the zones and update the age. This will be used to update the cache
// after making a new API call to get the zones.
func (z *zonesCache[T]) Reset(zones []T) { func (z *zonesCache[T]) Reset(zones []T) {
if z.duration > time.Duration(0) { if z.duration > time.Duration(0) {
z.age = time.Now() z.age = time.Now()
@ -35,12 +36,15 @@ func (z *zonesCache[T]) Reset(zones []T) {
} }
} }
// Get method to retrieve the cached zones // Get method to retrieve the cached zones. If cache is not expired, this will be used
// instead of making a new API call to get the zones.
func (z *zonesCache[T]) Get() []T { func (z *zonesCache[T]) Get() []T {
return z.zones return z.zones
} }
// Expired method to check if the cache has expired based on duration or if zones are empty // Expired method to check if the cache has expired based on duration or if zones are empty.
// If cache is expired, a new API call will be made to get the zones. If zones are empty, a new
// API call will be made to get the zones. This case comes in at the time of initialization.
func (z *zonesCache[T]) Expired() bool { func (z *zonesCache[T]) Expired() bool {
return len(z.zones) < 1 || time.Since(z.age) > z.duration return len(z.zones) < 1 || time.Since(z.age) > z.duration
} }