1#ifndef TRAILER_FIELD_HPP_3PDKGWCQ
2#define TRAILER_FIELD_HPP_3PDKGWCQ
4#include <vanetza/common/byte_buffer.hpp>
5#include <vanetza/security/v2/signature.hpp>
6#include <boost/variant/variant.hpp>
17enum class TrailerFieldType : uint8_t
23using TrailerField = boost::variant<Signature>;
30TrailerFieldType get_type(
const TrailerField&);
37size_t get_size(
const TrailerField&);
44void serialize(OutputArchive&,
const TrailerField&);
52size_t deserialize(InputArchive&, TrailerField&);
62boost::optional<ByteBuffer> extract_signature_buffer(
const TrailerField& trailer_field);
69template<TrailerFieldType>
resolve type for matching TrailerFieldType