summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--include/ouroboros/qos.h65
-rw-r--r--src/lib/CMakeLists.txt1
-rw-r--r--src/lib/qos.c88
4 files changed, 60 insertions, 96 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bda0aff9..a42813cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@ include(GNUInstallDirs)
set(PACKAGE_VERSION_MAJOR 0)
set(PACKAGE_VERSION_MINOR 12)
-set(PACKAGE_VERSION_PATCH 0)
+set(PACKAGE_VERSION_PATCH 1)
set(PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(PACKAGE_DESCRIPTION "The Ouroboros prototype")
diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h
index 2b93f1d0..3475b086 100644
--- a/include/ouroboros/qos.h
+++ b/include/ouroboros/qos.h
@@ -36,11 +36,64 @@ typedef struct qos_spec {
uint32_t max_gap; /* In ms */
} qosspec_t;
-qosspec_t qos_raw;
-qosspec_t qos_raw_no_errors;
-qosspec_t qos_best_effort;
-qosspec_t qos_video;
-qosspec_t qos_voice;
-qosspec_t qos_data;
+static const qosspec_t qos_raw = {
+ .delay = UINT32_MAX,
+ .bandwidth = 0,
+ .availability = 0,
+ .loss = 1,
+ .ber = 1,
+ .in_order = 0,
+ .max_gap = UINT32_MAX
+};
+
+static const qosspec_t qos_raw_no_errors = {
+ .delay = UINT32_MAX,
+ .bandwidth = 0,
+ .availability = 0,
+ .loss = 1,
+ .ber = 0,
+ .in_order = 0,
+ .max_gap = UINT32_MAX
+};
+
+static const qosspec_t qos_best_effort = {
+ .delay = UINT32_MAX,
+ .bandwidth = 0,
+ .availability = 0,
+ .loss = 1,
+ .ber = 0,
+ .in_order = 1,
+ .max_gap = UINT32_MAX
+};
+
+static const qosspec_t qos_video = {
+ .delay = 100,
+ .bandwidth = UINT64_MAX,
+ .availability = 3,
+ .loss = 1,
+ .ber = 0,
+ .in_order = 1,
+ .max_gap = 100
+};
+
+static const qosspec_t qos_voice = {
+ .delay = 50,
+ .bandwidth = 100000,
+ .availability = 5,
+ .loss = 1,
+ .ber = 0,
+ .in_order = 1,
+ .max_gap = 50
+};
+
+static const qosspec_t qos_data = {
+ .delay = 1000,
+ .bandwidth = 0,
+ .availability = 0,
+ .loss = 0,
+ .ber = 0,
+ .in_order = 1,
+ .max_gap = 2000
+};
#endif /* OUROBOROS_QOS_H */
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index 1c2007c3..a6dc00c6 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -200,7 +200,6 @@ set(SOURCE_FILES_COMMON
logs.c
md5.c
notifier.c
- qos.c
qoscube.c
random.c
rib.c
diff --git a/src/lib/qos.c b/src/lib/qos.c
deleted file mode 100644
index 8607031e..00000000
--- a/src/lib/qos.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Ouroboros - Copyright (C) 2016 - 2018
- *
- * Quality of Service cube specifications
- *
- * Dimitri Staessens <dimitri.staessens@ugent.be>
- * Sander Vrijders <sander.vrijders@ugent.be>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., http://www.fsf.org/about/contact/.
- */
-
-#include <ouroboros/qos.h>
-#include <ouroboros/errno.h>
-
-#include <stdint.h>
-#include <stddef.h>
-#include <string.h>
-
-qosspec_t qos_raw = {
- .delay = UINT32_MAX,
- .bandwidth = 0,
- .availability = 0,
- .loss = 1,
- .ber = 1,
- .in_order = 0,
- .max_gap = UINT32_MAX
-};
-
-qosspec_t qos_raw_no_errors = {
- .delay = UINT32_MAX,
- .bandwidth = 0,
- .availability = 0,
- .loss = 1,
- .ber = 0,
- .in_order = 0,
- .max_gap = UINT32_MAX
-};
-
-qosspec_t qos_best_effort = {
- .delay = UINT32_MAX,
- .bandwidth = 0,
- .availability = 0,
- .loss = 1,
- .ber = 0,
- .in_order = 1,
- .max_gap = UINT32_MAX
-};
-
-qosspec_t qos_video = {
- .delay = 100,
- .bandwidth = UINT64_MAX,
- .availability = 3,
- .loss = 1,
- .ber = 0,
- .in_order = 1,
- .max_gap = 100
-};
-
-qosspec_t qos_voice = {
- .delay = 50,
- .bandwidth = 100000,
- .availability = 5,
- .loss = 1,
- .ber = 0,
- .in_order = 1,
- .max_gap = 50
-};
-
-qosspec_t qos_data = {
- .delay = 1000,
- .bandwidth = 0,
- .availability = 0,
- .loss = 0,
- .ber = 0,
- .in_order = 1,
- .max_gap = 2000
-};