From f0b9bc56a67be3b5ede60ee165def3fbb6cb128f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Thu, 10 Mar 2022 19:43:58 -0500 Subject: [PATCH] c: add dht_runner_is_running, dht_runner_get_bound_port --- c/opendht.cpp | 11 +++++++++++ c/opendht_c.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/c/opendht.cpp b/c/opendht.cpp index ced1157a..9ed06564 100644 --- a/c/opendht.cpp +++ b/c/opendht.cpp @@ -413,6 +413,17 @@ void dht_runner_shutdown(dht_runner* r, dht_shutdown_cb done_cb, void* cb_user_d }); } +bool dht_runner_is_running(const dht_runner* r) { + if (not r) return false; + auto runner = reinterpret_cast<const dht::DhtRunner*>(r); + return runner->isRunning(); +} + +in_port_t dht_runner_get_bound_port(const dht_runner* r, sa_family_t af) { + auto runner = reinterpret_cast<const dht::DhtRunner*>(r); + return runner->getBoundPort(af); +} + dht_infohash dht_runner_get_node_id(const dht_runner* r) { auto runner = reinterpret_cast<const dht::DhtRunner*>(r); dht_infohash ret; diff --git a/c/opendht_c.h b/c/opendht_c.h index 7ca76ae6..be594677 100644 --- a/c/opendht_c.h +++ b/c/opendht_c.h @@ -153,6 +153,9 @@ OPENDHT_C_PUBLIC void dht_runner_cancel_put(dht_runner* runner, const dht_infoha 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); OPENDHT_C_PUBLIC dht_infohash dht_runner_get_id(const dht_runner* runner); +OPENDHT_C_PUBLIC bool dht_runner_is_running(const dht_runner* runner); +OPENDHT_C_PUBLIC in_port_t dht_runner_get_bound_port(const dht_runner* runner, sa_family_t af); +/** Returns null-terminated array that must be freed after use as well as each element */ OPENDHT_C_PUBLIC struct sockaddr** dht_runner_get_public_address(const dht_runner* runner); #ifdef __cplusplus -- GitLab