Vanetza
Loading...
Searching...
No Matches
pdu_conversion.hpp
1
#
ifndef
PDU_CONVERSION_HPP_XLCSI42E
2
#
define
PDU_CONVERSION_HPP_XLCSI42E
3
4
#
include
<
vanetza
/
common
/
byte_buffer
.
hpp
>
5
#
include
<
vanetza
/
common
/
byte_buffer_convertible
.
hpp
>
6
#
include
<
vanetza
/
geonet
/
pdu
.
hpp
>
7
#
include
<
memory
>
8
9
namespace
vanetza
10
{
11
namespace
convertible
12
{
13
14
template
<>
15
struct
byte_buffer_impl<std::unique_ptr<vanetza::geonet::Pdu>> :
public
byte_buffer
16
{
17
byte_buffer_impl(std::unique_ptr<vanetza::geonet::Pdu> pdu) :
18
m_pdu(std::move(pdu)) {}
19
20
void
convert(ByteBuffer& dest)
const
override;
21
std::size_t size()
const
override;
22
std::unique_ptr<byte_buffer> duplicate()
const
override;
23
24
const
std::unique_ptr<vanetza::geonet::Pdu> m_pdu;
25
};
26
27
}
// namespace convertible
28
29
namespace
geonet
30
{
31
32
/**
33
* Fetch PDU from byte buffer convertible
34
* \param conv source convertible
35
* \return PDU pointer or nullptr if cast failed
36
* */
37
Pdu
* pdu_cast(
ByteBufferConvertible
& conv);
38
39
}
// namespace geonet
40
}
// namespace vanetza
41
42
#
endif
/* PDU_CONVERSION_HPP_XLCSI42E */
vanetza::ByteBufferConvertible
Definition
byte_buffer_convertible.hpp:78
vanetza::ChunkPacket
ChunckPacket is a packet consisting of several memory chunks.
Definition
chunk_packet.hpp:19
vanetza::ChunkPacket::merge
ChunkPacket & merge(ChunkPacket &packet, OsiLayer from, OsiLayer to)
Definition
chunk_packet.cpp:77
vanetza::ChunkPacket::size
std::size_t size() const
Definition
chunk_packet.cpp:44
vanetza::ChunkPacket::layer
ByteBufferConvertible & layer(OsiLayer ol)
Definition
chunk_packet.cpp:28
vanetza::CohesivePacket
Definition
cohesive_packet.hpp:16
vanetza::CohesivePacket::set_boundary
void set_boundary(OsiLayer, unsigned bytes)
Definition
cohesive_packet.cpp:51
vanetza::CohesivePacket::trim
void trim(OsiLayer from, unsigned bytes)
Definition
cohesive_packet.cpp:58
vanetza::InputArchive
Definition
archives.hpp:17
vanetza::MacAddress
Definition
mac_address.hpp:19
vanetza::byte_buffer_source
Definition
byte_buffer_source.hpp:16
vanetza::geonet::IndicationContextBasic
Definition
indication_context.hpp:56
vanetza::geonet::IndicationContextCast
Definition
indication_context.hpp:87
vanetza::geonet::IndicationContextCast::finish
UpPacketPtr finish() override
Definition
indication_context.cpp:86
vanetza::geonet::IndicationContextDeserialize
Definition
indication_context.hpp:71
vanetza::geonet::IndicationContextDeserialize::finish
UpPacketPtr finish() override
Definition
indication_context.cpp:47
vanetza::geonet::IndicationContextSecuredCast
Definition
indication_context.hpp:134
vanetza::geonet::IndicationContextSecuredCast::finish
UpPacketPtr finish() override
Definition
indication_context.cpp:171
vanetza::geonet::IndicationContextSecuredDeserialize
Definition
indication_context.hpp:121
vanetza::geonet::IndicationContextSecuredDeserialize::finish
UpPacketPtr finish() override
Definition
indication_context.cpp:112
vanetza::geonet::IndicationContextSecured
Definition
indication_context.hpp:106
vanetza::geonet::IndicationContext
Definition
indication_context.hpp:23
vanetza::geonet::IndicationContext::finish
virtual UpPacketPtr finish()=0
vanetza::geonet::Parser
Definition
parser.hpp:23
vanetza::geonet::Pdu
Definition
pdu.hpp:34
vanetza::geonet::SecuredPdu
Definition
secured_pdu.hpp:19
vanetza::geonet::VariantPdu
Definition
variant_pdu.hpp:17
vanetza::geonet::BasicHeader
BasicHeader specified in ETSI EN 302 636-4-1 v1.2.1, section 8.6.
Definition
basic_header.hpp:27
vanetza::geonet::CommonHeader
Definition
common_header.hpp:28
vanetza::geonet::DataIndication
GN-DATA.indication.
Definition
data_indication.hpp:22
vanetza::geonet::LinkLayer
Definition
link_layer.hpp:12
vanetza
geonet
pdu_conversion.hpp
Generated on
for Vanetza by
1.16.1