diff --git a/include/Whisper/Messages/Priority.hpp b/include/Whisper/Messages/Priority.hpp new file mode 100644 index 0000000..0c46846 --- /dev/null +++ b/include/Whisper/Messages/Priority.hpp @@ -0,0 +1,50 @@ +#pragma once +/* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at https://mozilla.org/MPL/2.0/. +*/ +/** @file */ +/** @copyright 2021 MPLv2 */ +#include +#include + +/** +* @brief This is the main namespace for all whisper-com related datatypes and classed. +*/ +namespace Whisper +{ + + /** + * @brief namespace for all data related DataTypes, classes, etc. + */ + namespace Messages + { + + /** + * \defgroup data_priority Priority of Messages + * Messages can be priortisied according to their importants. + * In whisper-com certain rules are enforced according to message priority + * e.g. important messages may be transorted and processed faster + */ + + + /** + * @brief Enumeration of different message priorities. + * \ingroup message_priorities + * Message priorities divides messages into three levels. We think three + * levels should be enough and fewer limits the flexibility of the user + * and more adds to the overall complexity. + */ + enum class priority : std::uint8_t + { + /// Messages of Priority low are additional information + LOW, + /// Messages of Priority medium are information for basic operation + MEDIUM, + /// Messages of Priority high are essential for survival + HIGH, + }; // enum class priority + + }; // namespace Data + +}; // namespace Whisper