Sets a new value of an entry. Adds newly created entries at the end of the access queue.
(ReferenceEntry<K, V> entry, K key, V value, long now)
| 2237 | */ |
| 2238 | |
| 2239 | @GuardedBy("this") |
| 2240 | void setValue(ReferenceEntry<K, V> entry, K key, V value, long now) { |
| 2241 | ValueReference<K, V> previous = entry.getValueReference(); |
| 2242 | int weight = map.weigher.weigh(key, value); |
| 2243 | checkState(weight >= 0, "Weights must be non-negative"); |
| 2244 | ValueReference<K, V> valueReference = map.valueStrength.referenceValue(this, entry, value, weight); |
| 2245 | entry.setValueReference(valueReference); |
| 2246 | recordWrite(entry, weight, now); |
| 2247 | previous.notifyNewValue(value); |
| 2248 | } |
| 2249 | |
| 2250 | // loading |
| 2251 |
no test coverage detected