Communication Library for Autonomous Systems v1.0
Reliable and secure communication library for autonomous vehicle systems
|
#include <vehicleRSUManager.h>
Classes | |
struct | RSUInfo |
Public Member Functions | |
VehicleRSUManager (unsigned int vehicle_id, std::chrono::seconds timeout=std::chrono::seconds(10)) | |
~VehicleRSUManager () | |
void | process_rsu_status (const typename Protocol_T::Address &rsu_address, double x, double y, double radius, const MacKeyType &group_key) |
void | update_leader_selection () |
void | update_distances () |
void | cleanup_stale_rsus () |
RSUInfo * | get_current_leader () |
std::vector< RSUInfo > | get_known_rsus () |
void | add_neighbor_rsu_key (const MacKeyType &key) |
std::vector< MacKeyType > | get_neighbor_rsu_keys () |
bool | remove_neighbor_rsu_key (const MacKeyType &key) |
VehicleRSUManager - Simplified collision domain logic
Leader selection is based on communication ability (collision domain). If a vehicle can receive STATUS messages from an RSU, they are within the collision domain and the RSU is eligible to be the leader.
The closest RSU (by distance) that we can communicate with becomes the leader.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |