1#ifndef TRAFFIC_CLASS_HPP_I2WYKREX
2#define TRAFFIC_CLASS_HPP_I2WYKREX
4#include <vanetza/common/bit_number.hpp>
5#include <vanetza/dcc/profile.hpp>
6#include <vanetza/geonet/serialization.hpp>
19 TrafficClass(
bool scf,
bool channel_offload,
BitNumber<
unsigned, 6> tc_id);
20 explicit TrafficClass(uint8_t raw);
22 bool store_carry_forward()
const;
23 void store_carry_forward(
bool flag);
24 bool channel_offload()
const;
25 void channel_offload(
bool flag);
28 uint8_t raw()
const {
return m_tc; }
31 static constexpr uint8_t scf_mask = 0x80;
32 static constexpr uint8_t channel_offload_mask = 0x40;
33 static constexpr uint8_t tc_id_mask = 0x3f;
ChunckPacket is a packet consisting of several memory chunks.
ByteBufferConvertible & operator[](OsiLayer ol)
ChunkPacket & merge(ChunkPacket &packet, OsiLayer from, OsiLayer to)
const ByteBufferConvertible & layer(OsiLayer ol) const
const ByteBufferConvertible & operator[](OsiLayer ol) const
ByteBufferConvertible & layer(OsiLayer ol)
std::size_t size(OsiLayer from, OsiLayer to) const
ChunkPacket extract(OsiLayer from, OsiLayer to)
std::size_t size(OsiLayer from, OsiLayer to) const
buffer_const_range operator[](OsiLayer layer) const
void set_boundary(OsiLayer, unsigned bytes)
const ByteBuffer & buffer() const
CohesivePacket(const ByteBuffer &buffer, OsiLayer layer)
void trim(OsiLayer from, unsigned bytes)
std::size_t size(OsiLayer single_layer) const
value_type operator[](size_type) const
byte_view_range(ByteBuffer &&)
byte_view_range(const ByteBuffer::const_iterator &, const ByteBuffer::const_iterator &)
ByteBuffer::const_pointer data() const
void encode(units::Duration)
units::Duration decode() const