Browse Source

Added `options.Equals()` and minor fixes indentation fixes

pull/8552/head
Pierre Souchay 4 years ago
parent
commit
879d087f65
  1. 11
      agent/cache/cache.go

11
agent/cache/cache.go vendored

@ -144,6 +144,11 @@ type Options struct {
EntryFetchRate rate.Limit EntryFetchRate rate.Limit
} }
// Equal return true if both options are equivalent
func (o Options) Equal(other Options) bool {
return o.EntryFetchMaxBurst == other.EntryFetchMaxBurst && o.EntryFetchRate == other.EntryFetchRate
}
// applyDefaultValuesOnOptions set default values on options and returned updated value // applyDefaultValuesOnOptions set default values on options and returned updated value
func applyDefaultValuesOnOptions(options Options) Options { func applyDefaultValuesOnOptions(options Options) Options {
if options.EntryFetchRate == 0.0 { if options.EntryFetchRate == 0.0 {
@ -243,7 +248,8 @@ func (c *Cache) RegisterType(n string, typ Type) {
// return true if Cache is updated, false if already up to date // return true if Cache is updated, false if already up to date
func (c *Cache) ReloadOptions(options Options) bool { func (c *Cache) ReloadOptions(options Options) bool {
options = applyDefaultValuesOnOptions(options) options = applyDefaultValuesOnOptions(options)
if c.options.EntryFetchRate != options.EntryFetchRate || c.options.EntryFetchMaxBurst != options.EntryFetchMaxBurst { modified := !options.Equal(c.options)
if modified {
c.entriesLock.RLock() c.entriesLock.RLock()
defer c.entriesLock.RUnlock() defer c.entriesLock.RUnlock()
for _, entry := range c.entries { for _, entry := range c.entries {
@ -256,9 +262,8 @@ func (c *Cache) ReloadOptions(options Options) bool {
} }
c.options.EntryFetchRate = options.EntryFetchRate c.options.EntryFetchRate = options.EntryFetchRate
c.options.EntryFetchMaxBurst = options.EntryFetchMaxBurst c.options.EntryFetchMaxBurst = options.EntryFetchMaxBurst
return true
} }
return false return modified
} }
// Get loads the data for the given type and request. If data satisfying the // Get loads the data for the given type and request. If data satisfying the

Loading…
Cancel
Save