summaryrefslogtreecommitdiff
path: root/src/irmd
diff options
context:
space:
mode:
authorSander Vrijders <[email protected]>2017-06-21 11:50:19 +0200
committerSander Vrijders <[email protected]>2017-06-21 12:21:54 +0200
commit806629e64e8231d0c57a80d3b6584094cd6c89bd (patch)
treee0bbe49e68ba86be325ee23c5879a7611df87c9f /src/irmd
parent22020246ac2b6f03f42dffb48ced19e43b3e9b77 (diff)
downloadouroboros-806629e64e8231d0c57a80d3b6584094cd6c89bd.tar.gz
ouroboros-806629e64e8231d0c57a80d3b6584094cd6c89bd.zip
lib, ipcpd, irmd: Add full-fledged QoS
This adds more Quality of Service support to Ouroboros. One part is the network specific characteristics such as bandwidth, delay, ... The other part is end-to-end QoS like reliability, window based flow control, ...
Diffstat (limited to 'src/irmd')
-rw-r--r--src/irmd/ipcp.h2
-rw-r--r--src/irmd/irm_flow.c2
-rw-r--r--src/irmd/irm_flow.h2
-rw-r--r--src/irmd/registry.h2
4 files changed, 5 insertions, 3 deletions
diff --git a/src/irmd/ipcp.h b/src/irmd/ipcp.h
index 74175f97..fde0428c 100644
--- a/src/irmd/ipcp.h
+++ b/src/irmd/ipcp.h
@@ -22,7 +22,7 @@
#include <ouroboros/ipcp.h>
#include <ouroboros/sockets.h>
-#include <ouroboros/shared.h>
+#include <ouroboros/qoscube.h>
#include <sys/types.h>
diff --git a/src/irmd/irm_flow.c b/src/irmd/irm_flow.c
index 8b85f36f..766c45ca 100644
--- a/src/irmd/irm_flow.c
+++ b/src/irmd/irm_flow.c
@@ -61,6 +61,8 @@ struct irm_flow * irm_flow_create(pid_t n_api,
f->n_rb = shm_rbuff_create(n_api, port_id);
if (f->n_rb == NULL) {
log_err("Could not create ringbuffer for AP-I %d.", n_api);
+ pthread_mutex_destroy(&f->state_lock);
+ pthread_cond_destroy(&f->state_cond);
free(f);
return NULL;
}
diff --git a/src/irmd/irm_flow.h b/src/irmd/irm_flow.h
index 8902a6ab..223740b7 100644
--- a/src/irmd/irm_flow.h
+++ b/src/irmd/irm_flow.h
@@ -25,7 +25,7 @@
#include <ouroboros/list.h>
#include <ouroboros/shm_rbuff.h>
-#include <ouroboros/shared.h>
+#include <ouroboros/qoscube.h>
#include <sys/types.h>
#include <pthread.h>
diff --git a/src/irmd/registry.h b/src/irmd/registry.h
index 29cefc02..2b887162 100644
--- a/src/irmd/registry.h
+++ b/src/irmd/registry.h
@@ -27,7 +27,7 @@
#include <ouroboros/hash.h>
#include <ouroboros/ipcp.h>
#include <ouroboros/list.h>
-#include <ouroboros/shared.h>
+#include <ouroboros/qoscube.h>
#include "api_table.h"
#include "apn_table.h"