1#include <vanetza/geonet/basic_header.hpp>
2#include <vanetza/geonet/data_request.hpp>
3#include <vanetza/geonet/serialization.hpp>
14 next_header(NextHeaderBasic::Any),
21 version(mib.itsGnProtocolVersion),
22 next_header(NextHeaderBasic::Any),
24 lifetime(mib.itsGnDefaultPacketLifetime),
25 hop_limit(mib.itsGnDefaultHopLimit)
32 if (mib.itsGnSecurity) {
33 next_header = NextHeaderBasic::Secured;
35 next_header = NextHeaderBasic::Common;
38 lifetime = request.maximum_lifetime;
39 hop_limit = request.max_hop_limit;
43 BasicHeader(
static_cast<
const DataRequest&>(request), mib)
50 uint8_t versionAndNextHeader = hdr.version.raw();
51 versionAndNextHeader <<= 4;
52 versionAndNextHeader |=
static_cast<uint8_t>(hdr.next_header) & 0x0f;
53 serialize(host_cast(versionAndNextHeader), ar);
54 serialize(host_cast(hdr.reserved), ar);
55 serialize(hdr.lifetime, ar);
56 serialize(host_cast(hdr.hop_limit), ar);
61 uint8_t versionAndNextHeader;
62 deserialize(versionAndNextHeader, ar);
63 hdr.version = versionAndNextHeader >> 4;
64 hdr.next_header =
static_cast<NextHeaderBasic>(versionAndNextHeader & 0x0f);
65 deserialize(hdr.reserved, ar);
66 deserialize(hdr.lifetime, ar);
67 deserialize(hdr.hop_limit, ar);