diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2017-06-21 11:50:19 +0200 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-06-21 12:21:54 +0200 |
commit | 806629e64e8231d0c57a80d3b6584094cd6c89bd (patch) | |
tree | e0bbe49e68ba86be325ee23c5879a7611df87c9f /include/ouroboros/qos.h | |
parent | 22020246ac2b6f03f42dffb48ced19e43b3e9b77 (diff) | |
download | ouroboros-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 'include/ouroboros/qos.h')
-rw-r--r-- | include/ouroboros/qos.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h index b12fed60..78bdba45 100644 --- a/include/ouroboros/qos.h +++ b/include/ouroboros/qos.h @@ -25,13 +25,22 @@ #define OUROBOROS_QOS_H #include <stdint.h> +#include <stdbool.h> typedef struct qos_spec { - uint32_t delay; - uint32_t jitter; + uint32_t delay; /* In ms */ + uint64_t bandwidth; /* In bits/s */ + uint8_t availability; /* Class of 9s */ + uint32_t maximum_interruption; /* In ms */ - /* FIXME: define qosspecs */ - int cube; + bool resource_control; /* Feedback from receiver */ + bool reliable; /* Reliable flow */ + bool error_check; /* Check for errors */ + bool ordered; /* Ordered delivery */ + bool partial; /* Allow partial delivery */ } qosspec_t; +int qosspec_init(qosspec_t * qs); +int qosspec_fini(qosspec_t * qs); + #endif |