Vanetza
Loading...
Searching...
No Matches
data_indication.hpp
1#ifndef DATA_INDICATION_HPP_DOJK9Q8T
2#define DATA_INDICATION_HPP_DOJK9Q8T
3
4#include <vanetza/common/byte_buffer.hpp>
5#include <vanetza/common/its_aid.hpp>
6#include <vanetza/geonet/destination_variant.hpp>
7#include <vanetza/geonet/interface.hpp>
8#include <vanetza/geonet/position_vector.hpp>
9#include <vanetza/security/decap_service.hpp>
10#include <boost/optional.hpp>
11
12namespace vanetza
13{
14namespace geonet
15{
16
17/**
18 * \brief GN-DATA.indication
19 * \see EN 302 636-4-1 V1.4.1, section J.4
20 */
22{
23 UpperProtocol upper_protocol;
24 TransportType transport_type;
25 DestinationVariant destination;
26 ShortPositionVector source_position;
27 security::DecapReport security_report;
28 boost::optional<ItsAid> its_aid;
29 boost::optional<ByteBuffer> permissions;
30 // TODO: certificate id is missing (optional)
31 TrafficClass traffic_class;
32 boost::optional<Lifetime> remaining_packet_lifetime;
33 boost::optional<unsigned> remaining_hop_limit;
34};
35
36} // namespace geonet
37} // namespace vanetza
38
39#endif /* DATA_INDICATION_HPP_DOJK9Q8T */
ChunckPacket is a packet consisting of several memory chunks.
ByteBufferConvertible & operator[](OsiLayer ol)
ChunkPacket & merge(ChunkPacket &packet, OsiLayer from, OsiLayer to)
std::size_t size() const
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
std::size_t size() 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
Definition byte_view.cpp:48
byte_view_range(ByteBuffer &&)
Definition byte_view.cpp:37
byte_view_range(const ByteBuffer::const_iterator &, const ByteBuffer::const_iterator &)
Definition byte_view.cpp:27
ByteBuffer::const_pointer data() const
Definition byte_view.cpp:42