summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri.staessens@ugent.be>2018-10-12 17:28:04 +0200
committerSander Vrijders <sander.vrijders@ugent.be>2018-10-12 17:35:04 +0200
commitd375c023b5fa68e3a9804687683772c2734be8a4 (patch)
tree77056ee2f4264316aec7b63ac5419f021ea6ac94
parentb8c73d171d4352293b18ddbc71c587233d1f2fa5 (diff)
downloadouroboros-d375c023b5fa68e3a9804687683772c2734be8a4.tar.gz
ouroboros-d375c023b5fa68e3a9804687683772c2734be8a4.zip
ipcpd: Configure DHT slack timer at build time
This allows configuration of the DHT slack timer at build time. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
-rw-r--r--src/ipcpd/CMakeLists.txt7
-rw-r--r--src/ipcpd/config.h.in1
-rw-r--r--src/ipcpd/normal/dht.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/ipcpd/CMakeLists.txt b/src/ipcpd/CMakeLists.txt
index 50d23f8e..3fa3bb0f 100644
--- a/src/ipcpd/CMakeLists.txt
+++ b/src/ipcpd/CMakeLists.txt
@@ -16,6 +16,8 @@ set(DISABLE_CORE_LOCK FALSE CACHE BOOL
"Disable locking performance threads to a core")
set(IPCP_CONN_WAIT_DIR TRUE CACHE BOOL
"Check the running state of the directory when adding a dt connection")
+set(DHT_ENROLL_SLACK 50 CACHE STRING
+ "DHT enrollment waiting time (0-999, ms)")
if ((IPCP_QOS_CUBE_BE_PRIO LESS 0) OR (IPCP_QOS_CUBE_BE_PRIO GREATER 99))
message(FATAL_ERROR "Invalid priority for best effort QoS cube")
@@ -29,6 +31,11 @@ if ((IPCP_QOS_CUBE_VOICE_PRIO LESS 0) OR (IPCP_QOS_CUBE_VOICE_PRIO GREATER 99))
message(FATAL_ERROR "Invalid priority for voice QoS cube")
endif ()
+if ((DHT_ENROLL_SLACK LESS 0) OR (DHT_ENROLL_SLACK GREATER 999))
+ message(FATAL_ERROR "Invalid DHT slack value")
+endif ()
+
+
set(IPCP_SOURCES
# Add source files here
${CMAKE_CURRENT_SOURCE_DIR}/ipcp.c
diff --git a/src/ipcpd/config.h.in b/src/ipcpd/config.h.in
index 04565fab..f7af0808 100644
--- a/src/ipcpd/config.h.in
+++ b/src/ipcpd/config.h.in
@@ -47,6 +47,7 @@
#define QOS_PRIO_VOICE @IPCP_QOS_CUBE_VOICE_PRIO@
#define IPCP_SCHED_THR_MUL @IPCP_SCHED_THR_MUL@
#define PFT_SIZE @PFT_SIZE@
+#define DHT_ENROLL_SLACK @DHT_ENROLL_SLACK@
#cmakedefine IPCP_CONN_WAIT_DIR
#cmakedefine DISABLE_CORE_LOCK
diff --git a/src/ipcpd/normal/dht.c b/src/ipcpd/normal/dht.c
index aa1909e9..0ad9d9a7 100644
--- a/src/ipcpd/normal/dht.c
+++ b/src/ipcpd/normal/dht.c
@@ -2729,7 +2729,7 @@ static void handle_event(void * self,
pthread_t thr;
struct join_info * inf;
struct conn * c = (struct conn *) o;
- struct timespec slack = {0, 10 * MILLION};
+ struct timespec slack = {0, DHT_ENROLL_SLACK * MILLION};
/* Give the pff some time to update for the new link. */
nanosleep(&slack, NULL);