diff --git a/c/opendht.cpp b/c/opendht.cpp index cfd05570f..7b8018116 100644 --- a/c/opendht.cpp +++ b/c/opendht.cpp @@ -341,24 +341,24 @@ void dht_op_token_delete(dht_op_token* token) { delete reinterpret_cast*>(token); } -void dht_runner_put(dht_runner* r, const dht_infohash* h, const dht_value* v, dht_done_cb done_cb, void* cb_user_data) { +void dht_runner_put(dht_runner* r, const dht_infohash* h, const dht_value* v, dht_done_cb done_cb, void* cb_user_data, bool permanent) { auto runner = reinterpret_cast(r); auto hash = reinterpret_cast(h); auto value = reinterpret_cast(v); runner->put(*hash, *value, [done_cb, cb_user_data](bool ok){ if (done_cb) done_cb(ok, cb_user_data); - }); + }, dht::time_point::max(), permanent); } -void dht_runner_put_permanent(dht_runner* r, const dht_infohash* h, const dht_value* v, dht_done_cb done_cb, void* cb_user_data) { +void dht_runner_put_signed(dht_runner* r, const dht_infohash* h, const dht_value* v, dht_done_cb done_cb, void* cb_user_data, bool permanent) { auto runner = reinterpret_cast(r); auto hash = reinterpret_cast(h); auto value = reinterpret_cast(v); - runner->put(*hash, *value, [done_cb, cb_user_data](bool ok){ + runner->putSigned(*hash, *value, [done_cb, cb_user_data](bool ok){ if (done_cb) done_cb(ok, cb_user_data); - }, dht::time_point::max(), true); + }, permanent); } void dht_runner_cancel_put(dht_runner* r, const dht_infohash* h, dht_value_id value_id) { diff --git a/c/opendht_c.h b/c/opendht_c.h index c1fce291f..7a782800b 100644 --- a/c/opendht_c.h +++ b/c/opendht_c.h @@ -141,8 +141,8 @@ OPENDHT_C_PUBLIC void dht_runner_bootstrap(dht_runner* runner, const char* host, OPENDHT_C_PUBLIC void dht_runner_get(dht_runner* runner, const dht_infohash* hash, dht_get_cb cb, dht_done_cb done_cb, void* cb_user_data); OPENDHT_C_PUBLIC dht_op_token* dht_runner_listen(dht_runner* runner, const dht_infohash* hash, dht_value_cb cb, dht_shutdown_cb done_cb, void* cb_user_data); OPENDHT_C_PUBLIC void dht_runner_cancel_listen(dht_runner* runner, const dht_infohash* hash, dht_op_token* token); -OPENDHT_C_PUBLIC void dht_runner_put(dht_runner* runner, const dht_infohash* hash, const dht_value* value, dht_done_cb done_cb, void* cb_user_data); -OPENDHT_C_PUBLIC void dht_runner_put_permanent(dht_runner* runner, const dht_infohash* hash, const dht_value* value, dht_done_cb done_cb, void* cb_user_data); +OPENDHT_C_PUBLIC void dht_runner_put(dht_runner* runner, const dht_infohash* hash, const dht_value* value, dht_done_cb done_cb, void* cb_user_data, bool permanent); +OPENDHT_C_PUBLIC void dht_runner_put_signed(dht_runner* runner, const dht_infohash* hash, const dht_value* value, dht_done_cb done_cb, void* cb_user_data, bool permanent); OPENDHT_C_PUBLIC void dht_runner_cancel_put(dht_runner* runner, const dht_infohash* hash, dht_value_id value_id); OPENDHT_C_PUBLIC void dht_runner_shutdown(dht_runner* runner, dht_shutdown_cb done_cb, void* cb_user_data); OPENDHT_C_PUBLIC dht_infohash dht_runner_get_node_id(const dht_runner* runner); diff --git a/tools/dhtcnode.c b/tools/dhtcnode.c index c57d809e7..ab3a4b825 100644 --- a/tools/dhtcnode.c +++ b/tools/dhtcnode.c @@ -89,7 +89,7 @@ int main() // Put data const char* data_str = "yo, this is some data"; dht_value* val = dht_value_new(data_str, strlen(data_str)); - dht_runner_put(runner, &h, val, dht_done_callback, runner); + dht_runner_put(runner, &h, val, dht_done_callback, runner, false); dht_value_unref(val); // Get data