73
}
74
75
>
func (d *MemoryClient) overrideValue(key Key, value any, mergeable bool) (cleanup func()) {
memory_client.go
76
>
d.lock.Lock()
77
>
78
>
var idx atomic.Int64
79
>
idx.Store(int64(len(d.overrides)))
80
>
81
>
d.overrides = append(d.overrides, kvpair{valid: true, mergeable: mergeable, key: key, value: value})
82
>
83
>
newValue := d.getValueLocked(key)
84
>
changed := map[Key][]ConstrainedValue{key: newValue}
85
>
86
>
d.lock.Unlock()
87
>
88
>
// do not hold lock while notifying subscriptions
89
>
d.PublishUpdates(changed)
90
>
91
>
return func() {
92
// only do this once
93
if removeIdx := int(idx.Swap(-1)); removeIdx >= 0 {