mirror of
https://github.com/savoirfairelinux/opendht.git
synced 2026-11-08 12:28:42 +00:00
dhtrunner: add missing shared_ptr<Value> versions of putSigned, putEncrypted.
This commit is contained in:
1 parent
af6f33e9ee
commit
8fd71c7f3d
2 files changed
+39
-15
No files matched your search
@@ -149,26 +149,40 @@ public:
|
||||
void cancelListen(InfoHash h, size_t token);
|
||||
void cancelListen(InfoHash h, std::shared_future<size_t> token);
|
||||
|
||||
void put(InfoHash hash, Value&& value, Dht::DoneCallback cb=nullptr);
|
||||
void put(InfoHash hash, const std::shared_ptr<Value>&, Dht::DoneCallback cb=nullptr);
|
||||
void put(InfoHash hash, std::shared_ptr<Value> value, Dht::DoneCallback cb={});
|
||||
void put(InfoHash hash, std::shared_ptr<Value> value, Dht::DoneCallbackSimple cb) {
|
||||
put(hash, value, Dht::bindDoneCb(cb));
|
||||
}
|
||||
|
||||
void put(InfoHash hash, Value&& value, Dht::DoneCallback cb={});
|
||||
void put(InfoHash hash, Value&& value, Dht::DoneCallbackSimple cb) {
|
||||
put(hash, std::forward<Value>(value), Dht::bindDoneCb(cb));
|
||||
}
|
||||
void put(const std::string& key, Value&& value, Dht::DoneCallbackSimple cb=nullptr);
|
||||
void put(const std::string& key, Value&& value, Dht::DoneCallbackSimple cb={});
|
||||
|
||||
void cancelPut(const InfoHash& h, const Value::Id& id);
|
||||
|
||||
void putSigned(InfoHash hash, Value&& value, Dht::DoneCallback cb=nullptr);
|
||||
void putSigned(const std::string& key, Value&& value, Dht::DoneCallbackSimple cb=nullptr);
|
||||
void putSigned(InfoHash hash, std::shared_ptr<Value> value, Dht::DoneCallback cb={});
|
||||
void putSigned(InfoHash hash, std::shared_ptr<Value> value, Dht::DoneCallbackSimple cb) {
|
||||
putSigned(hash, value, Dht::bindDoneCb(cb));
|
||||
}
|
||||
|
||||
void putSigned(InfoHash hash, Value&& value, Dht::DoneCallback cb={});
|
||||
void putSigned(InfoHash hash, Value&& value, Dht::DoneCallbackSimple cb) {
|
||||
putSigned(hash, std::forward<Value>(value), Dht::bindDoneCb(cb));
|
||||
}
|
||||
void putSigned(const std::string& key, Value&& value, Dht::DoneCallbackSimple cb={});
|
||||
|
||||
void putEncrypted(InfoHash hash, InfoHash to, Value&& value, Dht::DoneCallback cb=nullptr);
|
||||
void putEncrypted(InfoHash hash, InfoHash to, std::shared_ptr<Value> value, Dht::DoneCallback cb={});
|
||||
void putEncrypted(InfoHash hash, InfoHash to, std::shared_ptr<Value> value, Dht::DoneCallbackSimple cb) {
|
||||
putEncrypted(hash, to, value, Dht::bindDoneCb(cb));
|
||||
}
|
||||
|
||||
void putEncrypted(InfoHash hash, InfoHash to, Value&& value, Dht::DoneCallback cb={});
|
||||
void putEncrypted(InfoHash hash, InfoHash to, Value&& value, Dht::DoneCallbackSimple cb) {
|
||||
putEncrypted(hash, to, std::forward<Value>(value), Dht::bindDoneCb(cb));
|
||||
}
|
||||
void putEncrypted(const std::string& key, InfoHash to, Value&& value, Dht::DoneCallback cb=nullptr);
|
||||
void putEncrypted(const std::string& key, InfoHash to, Value&& value, Dht::DoneCallback cb={});
|
||||
|
||||
void bootstrap(const char* host, const char* service);
|
||||
void bootstrap(const std::vector<std::pair<sockaddr_storage, socklen_t>>& nodes);
|
||||
|
||||
+18
-8
@@ -359,7 +359,7 @@ DhtRunner::put(InfoHash hash, Value&& value, Dht::DoneCallback cb)
|
||||
}
|
||||
|
||||
void
|
||||
DhtRunner::put(InfoHash hash, const std::shared_ptr<Value>& value, Dht::DoneCallback cb)
|
||||
DhtRunner::put(InfoHash hash, std::shared_ptr<Value> value, Dht::DoneCallback cb)
|
||||
{
|
||||
std::lock_guard<std::mutex> lck(storage_mtx);
|
||||
pending_ops.emplace([=](SecureDht& dht) {
|
||||
@@ -385,16 +385,21 @@ DhtRunner::cancelPut(const InfoHash& h , const Value::Id& id)
|
||||
}
|
||||
|
||||
void
|
||||
DhtRunner::putSigned(InfoHash hash, Value&& value, Dht::DoneCallback cb)
|
||||
DhtRunner::putSigned(InfoHash hash, std::shared_ptr<Value> value, Dht::DoneCallback cb)
|
||||
{
|
||||
std::lock_guard<std::mutex> lck(storage_mtx);
|
||||
auto sv = std::make_shared<Value>(std::move(value));
|
||||
pending_ops.emplace([=](SecureDht& dht) {
|
||||
dht.putSigned(hash, sv, cb);
|
||||
dht.putSigned(hash, value, cb);
|
||||
});
|
||||
cv.notify_all();
|
||||
}
|
||||
|
||||
void
|
||||
DhtRunner::putSigned(InfoHash hash, Value&& value, Dht::DoneCallback cb)
|
||||
{
|
||||
putSigned(hash, std::make_shared<Value>(std::move(value)), cb);
|
||||
}
|
||||
|
||||
void
|
||||
DhtRunner::putSigned(const std::string& key, Value&& value, Dht::DoneCallbackSimple cb)
|
||||
{
|
||||
@@ -402,16 +407,21 @@ DhtRunner::putSigned(const std::string& key, Value&& value, Dht::DoneCallbackSim
|
||||
}
|
||||
|
||||
void
|
||||
DhtRunner::putEncrypted(InfoHash hash, InfoHash to, Value&& value, Dht::DoneCallback cb)
|
||||
DhtRunner::putEncrypted(InfoHash hash, InfoHash to, std::shared_ptr<Value> value, Dht::DoneCallback cb)
|
||||
{
|
||||
std::lock_guard<std::mutex> lck(storage_mtx);
|
||||
auto sv = std::make_shared<Value>(std::move(value));
|
||||
std::lock_guard<std::mutex> lck(storage_mtx);
|
||||
pending_ops.emplace([=](SecureDht& dht) {
|
||||
dht.putEncrypted(hash, to, sv, cb);
|
||||
dht.putEncrypted(hash, to, value, cb);
|
||||
});
|
||||
cv.notify_all();
|
||||
}
|
||||
|
||||
void
|
||||
DhtRunner::putEncrypted(InfoHash hash, InfoHash to, Value&& value, Dht::DoneCallback cb)
|
||||
{
|
||||
putEncrypted(hash, to, std::make_shared<Value>(std::move(value)), cb);
|
||||
}
|
||||
|
||||
void
|
||||
DhtRunner::putEncrypted(const std::string& key, InfoHash to, Value&& value, Dht::DoneCallback cb)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user