Vanetza
Loading...
Searching...
No Matches
secured_pdu.hpp
1
#
ifndef
SECURED_PDU_HPP_TVERYI91
2
#
define
SECURED_PDU_HPP_TVERYI91
3
4
#
include
<
vanetza
/
common
/
byte_buffer_convertible
.
hpp
>
5
#
include
<
vanetza
/
geonet
/
common_header
.
hpp
>
6
#
include
<
vanetza
/
geonet
/
extended_pdu
.
hpp
>
7
#
include
<
vanetza
/
geonet
/
header_variant
.
hpp
>
8
#
include
<
vanetza
/
geonet
/
serialization
.
hpp
>
9
10
namespace
vanetza
11
{
12
namespace
geonet
13
{
14
15
/**
16
* Secured PDU consists of GeoNetworking headers belonging to a secured message's payload
17
*/
18
class
SecuredPdu
19
{
20
public
:
21
template
<
typename
EXT>
22
SecuredPdu(
const
ExtendedPdu
<EXT>& pdu) :
23
common(pdu.common()), extended(pdu.extended())
24
{
25
}
26
27
SecuredPdu(
const
Pdu
&);
28
29
CommonHeader
common;
30
HeaderVariant extended;
31
};
32
33
void
serialize(
const
SecuredPdu
&,
OutputArchive
&);
34
35
/**
36
* Cast secured PDU from byte buffer convertible
37
* \param conv source convertible
38
* \return secured PDU pointer or nullptr if cast failed
39
*/
40
SecuredPdu
* secured_pdu_cast(
ByteBufferConvertible
&);
41
42
}
// namespace geonet
43
44
namespace
convertible
45
{
46
47
template
<>
48
struct
byte_buffer_impl
<geonet::
SecuredPdu
> :
public
byte_buffer
49
{
50
byte_buffer_impl(
const
geonet::
SecuredPdu
&);
51
void
convert(ByteBuffer&)
const
override
;
52
std::size_t size()
const
override
;
53
std::unique_ptr<byte_buffer> duplicate()
const
override
;
54
55
geonet::
SecuredPdu
pdu;
56
};
57
58
}
// namespace convertible
59
60
}
// namespace vanetza
61
62
#
endif
/* SECURED_PDU_HPP_TVERYI91 */
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::OutputArchive
Definition
archives.hpp:62
vanetza::byte_buffer_source
Definition
byte_buffer_source.hpp:16
vanetza::geonet::ExtendedPdu
Definition
extended_pdu.hpp:24
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::convertible::byte_buffer_impl< geonet::SecuredPdu >
Definition
secured_pdu.hpp:49
vanetza::convertible::byte_buffer
Definition
byte_buffer_convertible.hpp:16
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
secured_pdu.hpp
Generated on
for Vanetza by
1.16.1