diff --git a/src/dht.cpp b/src/dht.cpp index fc9bc0ad39125f4503090515523b3b818b4b1751..67c64f34219d2d39a643f5ce4024f652074a0471 100644 --- a/src/dht.cpp +++ b/src/dht.cpp @@ -1282,9 +1282,13 @@ Dht::storageStore(const InfoHash& id, const Sp<Value>& value, time_point created vs->expiration_job = scheduler.add(expiration, std::bind(&Dht::expireStorage, this, id)); } if (total_store_size > max_store_size) { + auto value = vs->data; + auto value_diff = store.second.values_diff; expireStore(); + storageChanged(id, st->second, value, value_diff > 0); + } else { + storageChanged(id, st->second, vs->data, store.second.values_diff > 0); } - storageChanged(id, st->second, vs->data, store.second.values_diff > 0); } return std::get<0>(store);