diff --git a/service/qos/qos_common.hh b/service/qos/qos_common.hh index cb9bceeac3..ed55f7f8ae 100644 --- a/service/qos/qos_common.hh +++ b/service/qos/qos_common.hh @@ -26,8 +26,8 @@ #include #include #include - - +#include +#include namespace qos { @@ -36,6 +36,17 @@ namespace qos { * a service level. */ struct service_level_options { + struct unset_marker { + bool operator==(const unset_marker&) const { return true; }; + bool operator!=(const unset_marker&) const { return false; }; + }; + struct delete_marker { + bool operator==(const delete_marker&) const { return true; }; + bool operator!=(const delete_marker&) const { return false; }; + }; + + std::variant timeout = unset_marker{}; + bool operator==(const service_level_options& other) const = default; bool operator!=(const service_level_options& other) const = default; };