diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2018-10-08 21:41:03 +0200 |
---|---|---|
committer | Dimitri Staessens <dimitri.staessens@ugent.be> | 2018-10-09 09:45:04 +0200 |
commit | ff847419e54f283872d883a85ecea082e2c98790 (patch) | |
tree | d672dc5bf9840bf623337cc4b467ff189a20b902 /include | |
parent | d9ad3852613cda026d4520b5c608ada7433dd7d9 (diff) | |
download | ouroboros-ff847419e54f283872d883a85ecea082e2c98790.tar.gz ouroboros-ff847419e54f283872d883a85ecea082e2c98790.zip |
lib: Define QoS specs inside header file0.12.1
The QoS specs were defined in the source file instead of in the header
file, which resulted in uninitialized structs being used, which gave
rise to weird behavior in the library.
Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/qos.h | 65 |
1 files changed, 59 insertions, 6 deletions
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 */ |