1
0
Fork 0

Added Priorities in include/Whisper/Messages/Priority.hpp

This commit is contained in:
Matthias Engelke 2021-08-26 17:53:36 +02:00
parent 7f1d06d549
commit 6224f5b75e
Signed by untrusted user: mengelke
GPG Key ID: 075A0BD673941023
1 changed files with 18 additions and 27 deletions

View File

@ -17,42 +17,33 @@ namespace Whisper
/**
* @brief namespace for all data related DataTypes, classes, etc.
*/
namespace Data
namespace Messages
{
/**
* \defgroup data_classifications Classification of Data within Messages
* Data in Message can be classified occording to the non-disclosure of its information.
* In whisper-com certain rules are enforced occording to data classification
* e.g. messages may be dropped or not routed through gateways.
* Furthermore, encryption of data may or may not be enforced.
* \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 data classifications.
* \ingroup data_classifications
* Data classifications classify the data within the payload of a message
* according to six levels. We think six levels should be enough and
* fewer limits the flexibility of the user and more adds to the overall
* complexity.
* @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 classification : std::uint8_t
enum class priority : std::uint8_t
{
/// The data is public and may even be transmitted public to the Internet.
PUBLIC,
/// The data is classified open. Everyone with access to the network may read it
/// but the data is not allowed to be published to the internet or other non local networks.
OPEN,
/// The data is classified RESTRICTED
RESTRICTED,
/// the data is classified CONFIDENTIAL
CONFIDENTIAL,
/// The data is classified as SECRET
SECRET,
/// The data is classified as TOP SECRET.
TOP_SECRET
}; // enum class classification
/// 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