diff options
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | include/ouroboros/qos.h | 65 | ||||
| -rw-r--r-- | src/lib/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/lib/qos.c | 88 | 
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 -}; | 
