54 {
56
57 if (FLAGS_dreamview_profiling_mode &&
58 FLAGS_dreamview_profiling_duration > 0.0) {
59 exit_timer_.reset(new cyber::Timer(
60 FLAGS_dreamview_profiling_duration,
61 [this]() { this->TerminateProfilingMode(); }, false));
62
63 exit_timer_->Start();
64 AWARN <<
"============================================================";
65 AWARN <<
"| Dreamview running in profiling mode, exit in "
66 << FLAGS_dreamview_profiling_duration << " seconds |";
67 AWARN <<
"============================================================";
68 }
69
70
71
72 std::vector<std::string> options = {
73 "document_root", FLAGS_static_file_dir,
74 "listening_ports", FLAGS_server_ports,
75 "websocket_timeout_ms", FLAGS_websocket_timeout_ms,
76 "request_timeout_ms", FLAGS_request_timeout_ms,
77 "enable_keep_alive", "yes",
78 "tcp_nodelay", "1",
79 "keep_alive_timeout_ms", "500"};
81 options.push_back("ssl_certificate");
82 options.push_back(FLAGS_ssl_certificate);
83 } else if (FLAGS_ssl_certificate.size() > 0) {
84 AERROR <<
"Certificate file " << FLAGS_ssl_certificate
85 << " does not exist!";
86 }
87 server_.reset(new CivetServer(options));
88
89 websocket_.reset(new WebSocketHandler("SimWorld"));
90 map_ws_.reset(new WebSocketHandler("Map"));
91 point_cloud_ws_.reset(new WebSocketHandler("PointCloud"));
92 camera_ws_.reset(new WebSocketHandler("Camera"));
93 plugin_ws_.reset(new WebSocketHandler("Plugin"));
94
95 map_service_.reset(new MapService());
96 image_.reset(new ImageHandler());
97 perception_camera_updater_.reset(
99
100 hmi_.reset(new HMI(websocket_.get(), map_service_.get()));
102 sim_world_updater_.reset(new SimulationWorldUpdater(
103 websocket_.get(), map_ws_.get(), camera_ws_.get(),
104 plugin_ws_.get(), map_service_.get(),
105 perception_camera_updater_.get(), plugin_manager_.get(),
106 FLAGS_routing_from_file));
107 point_cloud_updater_.reset(
108 new PointCloudUpdater(point_cloud_ws_.get(), sim_world_updater_.get()));
109
110 server_->addWebSocketHandler("/websocket", *websocket_);
111 server_->addWebSocketHandler("/map", *map_ws_);
112 server_->addWebSocketHandler("/pointcloud", *point_cloud_ws_);
113 server_->addWebSocketHandler("/camera", *camera_ws_);
114 server_->addWebSocketHandler("/plugin", *plugin_ws_);
115 server_->addHandler("/image", *image_);
116#if WITH_TELEOP == 1
117 teleop_ws_.reset(new WebSocketHandler("Teleop"));
118 teleop_.reset(new TeleopService(teleop_ws_.get()));
119 server_->addWebSocketHandler("/teleop", *teleop_ws_);
120#endif
121 return Status::OK();
122}
A module that collects camera image and localization (by collecting localization & static transforms)...
A module that maintains all dv-related plugin information.
static void Init()
Initialize vehicle configurations with default configuration file pointed by gflags FLAGS_vehicle_con...
bool PathExists(const std::string &path)
Check if the path exists.