Communication Library for Autonomous Systems v1.0
Reliable and secure communication library for autonomous vehicle systems
|
Thread-safe manager for vehicle status and leader election. More...
#include <statusManager.h>
Classes | |
struct | NeighborInfo |
Public Types | |
using | VehicleIdType = typename Protocol< NIC_TYPE >::Address |
Public Member Functions | |
StatusManager (Protocol< NIC_TYPE > *owner_protocol, const Ethernet::Address &self_mac_address, uint32_t self_age, const UniqueKeyValueType &self_unique_key, std::chrono::microseconds broadcast_interval=std::chrono::seconds(1), std::chrono::microseconds prune_interval=std::chrono::seconds(3), std::chrono::microseconds neighbor_timeout=std::chrono::seconds(5)) | |
Construct a new Status Manager. | |
~StatusManager () | |
Destroy the Status Manager. | |
void | process_incoming_status (const VehicleIdType &sender_protocol_address, const uint8_t *payload_data, unsigned int payload_size) |
Process an incoming status message. | |
StatusManager (const StatusManager &)=delete | |
StatusManager & | operator= (const StatusManager &)=delete |
Public Attributes | |
Protocol< NIC_TYPE >::Port | STATUS_PORT = 60000 |
Thread-safe manager for vehicle status and leader election.
This class is thread-safe and can be accessed from multiple threads. It manages vehicle status broadcasts, neighbor tracking, and leader election. All state access is protected by appropriate synchronization primitives.
|
inline |
Construct a new Status Manager.
Thread-safe: Constructor is not thread-safe, should be called from a single thread
|
inline |
Destroy the Status Manager.
Thread-safe: Destructor is not thread-safe, should be called from a single thread
|
delete |
|
delete |
|
inline |
Process an incoming status message.
Thread-safe: Protected by mutex for neighbor list access
Protocol<NIC_TYPE>::Port StatusManager< NIC_TYPE >::STATUS_PORT = 60000 |