-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.cpp
154 lines (153 loc) · 3.35 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
//#include <thread>
//
//#include <iostream> //cout
//#include <queue>
//#include <utility> // std::pair, std::make_pair
//#include <math.h> // pow, sqrt
//#include <stdlib.h> /* srand, rand */
//
//#include "OpenDDS.h" //to start OpenDDSThread
//#include "MriTypeSupportImpl.h" //Mri data formats
//
//#include "Sleep.h" // Sleep()
//#include "TimeSync.h"
//#include "QueueTs.h"
//#include "main.h"
//
//
//extern bool finish_application;
//extern bool threadOpenDDS_initialized;
//extern std::map<long, Mri::VehData> vehs_map;
//extern std::map<long, Mri::V2XMessage> v2xs_map;
//extern QueueTs<Mri::V2XMessage> v2x_queue_in;
//
//
//
////char *argv2[] = { "-DCPSConfigFile","rtps.ini" };
////-DCPSConfigFile rtps.ini
//
//int main(int argc, char* argv[]) {
//
// std::map<long, Mri::V2XMessage> v2xs_map;
//
// threadOpenDDS_initialized = false;
//
// //char *argv2[] = { "-DCPSConfigFile","rtps.ini" };
// //-DCPSConfigFile rtps.ini
//
//
// std::thread threadOpenDDS(OpenDDSThread, argc, argv);
// while (!threadOpenDDS_initialized)
// {
// //wait until threadOpenDDS is initialized;
// }
//
// std::thread threadVehsMap(vehsMapThread);
//
// srand(time(NULL));
//
//
// std::chrono::time_point<std::chrono::system_clock> t = std::chrono::system_clock::now(); //sleep below
// // main loop
// while (!finish_application)
// {
// //NS3 simulation thread
// //***********************************************************************************************
// //
// // do NS3 simulation, update transmition parameters of V2X message and resend V2x message
// //
// //***********************************************************************************************
// doSimulation();
// v2xsMapGarbageCollection(5000);
//
// t += std::chrono::milliseconds(50); //each loop 50 ms
// std::this_thread::sleep_until(t);
// }
// //wait for a finish of all threads
// Sleep(500);
// threadOpenDDS.detach();
// threadVehsMap.detach();
//
// return 0;
//}
//
//
//void doSimulation() {
//
// Mri::V2XMessage v2x;
// long v2x_extended_timestamp = 0;
//
//
// //copy queue
// std::queue <Mri::V2XMessage>v2x_queue_copy;
// v2x_queue_in.swap(&v2x_queue_copy);
//
// while (!v2x_queue_copy.empty())
// {
// v2x = v2x_queue_copy.front();
// v2x_queue_copy.pop();
//
// v2x_extended_timestamp = generateV2xUniqueTimestamp(v2x.sender_timestamp);
// addV2xToMap(v2x_extended_timestamp, v2x);
//
//
//
// //this is a fake simulation func:
// transmitV2X(v2x, 1);
//
//
// //
// //************************************************************************************************
// }
// std::cout << "." ;
//}
//
//
//
//void v2xsMapGarbageCollection(long interval_ms) {
// //delete v2x messages older then interval, e.g. 5000 ms
// long timestamp_older = generateV2xUniqueTimestamp(GetTimestamp() - (interval_ms / 10));
//
// for (auto x = v2xs_map.begin(); x != v2xs_map.cend();) {
//
// if (x->first < timestamp_older)
// {
// x = v2xs_map.erase(x);
// //std::cout << "Erased v2x id:" << x->first << std::endl;
// }
// else
// {
// ++x;
// }
// }
//
//
//}
//
//
//
//
//#include <dds/DCPS/Service_Participant.h> //neccessary to start OpenDDSThreat without error
//
//
//#include "start.h"
//#include "main.h"
//
//int main(int argc, char* argv[]) {
//
//
// start();
//
// //std::thread threadOpenDDS(OpenDDSThread, argc, argv);
//
//
// while (true)
// {
//
// }
//
// return 0;
//
//}
//
//