Vanetza
Loading...
Searching...
No Matches
access_category.hpp
1#ifndef ACCESS_CATEGORY_HPP_QAWSOPED
2#define ACCESS_CATEGORY_HPP_QAWSOPED
3
4#include <cstdint>
5#include <iosfwd>
6
7namespace vanetza
8{
9namespace access
10{
11
12/**
13 * \enum AccessCategory
14 * \brief AccessCategory represents packet priority at link layer
15 *
16 * Each enumerator's value matches the user priority UP (802.1D)
17 * of the respective access category AC (802.11).
18 *
19 * See ETSI EN 302 663 V1.2.1 (2013-07), Table B.3
20 */
21enum class AccessCategory {
22 BK = 1, //!< Background (lowest priority)
23 BE = 3, //!< Best effort
24 VI = 5, //!< Video
25 VO = 7 //!< Voice (highest priority)
26}; /**< \enum */
27
28std::ostream& operator<<(std::ostream&, AccessCategory);
29
30constexpr std::uint8_t user_priority(AccessCategory ac)
31{
32 return static_cast<std::uint8_t>(ac) & 0x7;
33}
34
35} // namespace access
36} // namespace vanetza
37
38#endif /* ACCESS_CATEGORY_HPP_QAWSOPED */