Skip to content
Snippets Groups Projects
Unverified Commit 18036178 authored by kaldoran's avatar kaldoran
Browse files

Add timepoint into the API of SecureDht and DhtRunner

parent 5dd95a2a
No related branches found
No related tags found
No related merge requests found
...@@ -156,16 +156,16 @@ public: ...@@ -156,16 +156,16 @@ public:
void cancelListen(InfoHash h, size_t token); void cancelListen(InfoHash h, size_t token);
void cancelListen(InfoHash h, std::shared_future<size_t> token); void cancelListen(InfoHash h, std::shared_future<size_t> token);
void put(InfoHash hash, std::shared_ptr<Value> value, DoneCallback cb={}, bool permanent = false); void put(InfoHash hash, std::shared_ptr<Value> value, DoneCallback cb={}, time_point created=time_point::max(), bool permanent = false);
void put(InfoHash hash, std::shared_ptr<Value> value, DoneCallbackSimple cb, bool permanent = false) { void put(InfoHash hash, std::shared_ptr<Value> value, DoneCallbackSimple cb, time_point created=time_point::max(), bool permanent = false) {
put(hash, value, bindDoneCb(cb), permanent); put(hash, value, bindDoneCb(cb), created, permanent);
} }
void put(InfoHash hash, Value&& value, DoneCallback cb={}, bool permanent = false); void put(InfoHash hash, Value&& value, DoneCallback cb={}, time_point created=time_point::max(), bool permanent = false);
void put(InfoHash hash, Value&& value, DoneCallbackSimple cb, bool permanent = false) { void put(InfoHash hash, Value&& value, DoneCallbackSimple cb, time_point created=time_point::max(), bool permanent = false) {
put(hash, std::forward<Value>(value), bindDoneCb(cb), permanent); put(hash, std::forward<Value>(value), bindDoneCb(cb), created, permanent);
} }
void put(const std::string& key, Value&& value, DoneCallbackSimple cb={}, bool permanent = false); void put(const std::string& key, Value&& value, DoneCallbackSimple cb={}, time_point created=time_point::max(), bool permanent = false);
void cancelPut(const InfoHash& h, const Value::Id& id); void cancelPut(const InfoHash& h, const Value::Id& id);
......
...@@ -484,30 +484,30 @@ DhtRunner::cancelListen(InfoHash h, std::shared_future<size_t> token) ...@@ -484,30 +484,30 @@ DhtRunner::cancelListen(InfoHash h, std::shared_future<size_t> token)
} }
void void
DhtRunner::put(InfoHash hash, Value&& value, DoneCallback cb, bool permanent) DhtRunner::put(InfoHash hash, Value&& value, DoneCallback cb, time_point created, bool permanent)
{ {
std::lock_guard<std::mutex> lck(storage_mtx); std::lock_guard<std::mutex> lck(storage_mtx);
auto sv = std::make_shared<Value>(std::move(value)); auto sv = std::make_shared<Value>(std::move(value));
pending_ops.emplace([=](SecureDht& dht) { pending_ops.emplace([=](SecureDht& dht) {
dht.put(hash, sv, cb, {}, permanent); dht.put(hash, sv, cb, created, permanent);
}); });
cv.notify_all(); cv.notify_all();
} }
void void
DhtRunner::put(InfoHash hash, std::shared_ptr<Value> value, DoneCallback cb, bool permanent) DhtRunner::put(InfoHash hash, std::shared_ptr<Value> value, DoneCallback cb, time_point created, bool permanent)
{ {
std::lock_guard<std::mutex> lck(storage_mtx); std::lock_guard<std::mutex> lck(storage_mtx);
pending_ops.emplace([=](SecureDht& dht) { pending_ops.emplace([=](SecureDht& dht) {
dht.put(hash, value, cb, {}, permanent); dht.put(hash, value, cb, created, permanent);
}); });
cv.notify_all(); cv.notify_all();
} }
void void
DhtRunner::put(const std::string& key, Value&& value, DoneCallbackSimple cb, bool permanent) DhtRunner::put(const std::string& key, Value&& value, DoneCallbackSimple cb, time_point created, bool permanent)
{ {
put(InfoHash::get(key), std::forward<Value>(value), cb, permanent); put(InfoHash::get(key), std::forward<Value>(value), cb, created, permanent);
} }
void void
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment