1#ifndef PACKET_VARIANT_HPP_LILZ0UWN
2#define PACKET_VARIANT_HPP_LILZ0UWN
4#include <vanetza/common/byte_view.hpp>
5#include <vanetza/common/serialization.hpp>
6#include <vanetza/net/chunk_packet.hpp>
7#include <vanetza/net/cohesive_packet.hpp>
8#include <boost/variant.hpp>
13using PacketVariant = boost::variant<ChunkPacket, CohesivePacket>;
18 return packet.size(from, to);
24 return packet.size(layer);
28size(
const ChunkPacket& packet, OsiLayer from, OsiLayer to)
30 return packet.size(from, to);
36 return packet[layer].size();
72std::size_t size(
const vanetza::PacketVariant&, vanetza::OsiLayer from, vanetza::OsiLayer to);
73std::size_t size(
const vanetza::PacketVariant&, vanetza::OsiLayer);
74std::size_t size(
const vanetza::PacketVariant&);
76vanetza::byte_view_range create_byte_view(
const vanetza::PacketVariant&, vanetza::OsiLayer from, vanetza::OsiLayer to);
ChunckPacket is a packet consisting of several memory chunks.