Vanetza
Loading...
Searching...
No Matches
basic_elements.cpp
1#include <vanetza/security/v3/basic_elements.hpp>
2#include <vanetza/asn1/support/OCTET_STRING.h>
3#include <vanetza/common/byte_buffer.hpp>
4#include <algorithm>
5#include <cassert>
6#include <chrono>
7
8namespace vanetza
9{
10namespace security
11{
12namespace v3
13{
14
15Time32 convert_time32(const Clock::time_point& tp)
16{
17 using std::chrono::duration_cast;
18 using seconds = std::chrono::duration<Time32>;
19 return duration_cast<seconds>(tp.time_since_epoch()).count();
20}
21
22Clock::time_point convert_time_point(const Time32& t)
23{
24 using std::chrono::duration_cast;
25 using seconds = std::chrono::duration<Time32>;
26 return Clock::time_point { duration_cast<Clock::duration>(seconds(t)) };
27}
28
29Clock::time_point convert_time_point(const Time64& t)
30{
31 using std::chrono::duration_cast;
32 using microseconds = std::chrono::duration<Time64, std::micro>;
33 return Clock::time_point { duration_cast<Clock::duration>(microseconds(t)) };
34}
35
36Time64 convert_time64(const Clock::time_point& tp)
37{
38 using std::chrono::duration_cast;
39 using microseconds = std::chrono::duration<Time64, std::micro>;
40 return duration_cast<microseconds>(tp.time_since_epoch()).count();
41}
42
43
44} // namespace v3
45} // namespace security
46} // namespace vanetza