Communication Library for Autonomous Systems v1.0
Reliable and secure communication library for autonomous vehicle systems
|
#include <protocol.h>
Classes | |
class | Address |
struct | AuthenticationFields |
class | Header |
class | Packet |
struct | TimestampFields |
Public Types | |
enum class | EntityType { VEHICLE , RSU , UNKNOWN } |
typedef NIC::DataBuffer | Buffer |
typedef NIC::Address | Physical_Address |
typedef std::uint16_t | Port |
typedef Message< Protocol< NIC > > | ProtocolMessage |
typedef Conditional_Data_Observer< Buffer, Port > | Observer |
typedef Conditionally_Data_Observed< Buffer, Port > | Observed |
typedef std::uint8_t | Data[MTU] |
Public Member Functions | |
template<typename NIC > | |
Protocol::Packet Header | __attribute__ ((packed)) |
Protocol (NIC *nic, EntityType entity_type=EntityType::UNKNOWN) | |
void | set_vehicle_rsu_manager (VehicleRSUManager< Protocol< NIC > > *manager) |
~Protocol () | |
int | send (Address from, Address to, const void *data, unsigned int size) |
int | receive (Buffer *buf, Address *from, void *data, unsigned int size) |
void | free (Buffer *buf) |
void | setRadius (double radius) |
void | add_neighbor_rsu (unsigned int rsu_id, const MacKeyType &key, const Address &address) |
void | clear_neighbor_rsus () |
Address | address () const |
Static Public Member Functions | |
static void | attach (Observer *obs, Address address) |
static void | detach (Observer *obs, Address address) |
Public Attributes | |
class Protocol::Address | __attribute__ |
Static Public Attributes | |
static const NIC::Protocol_Number | PROTO = Traits<Protocol>::ETHERNET_PROTOCOL_NUMBER |
static const unsigned int | MTU = NIC::MTU - sizeof(Header) - sizeof(TimestampFields) - sizeof(Coordinates) - sizeof(AuthenticationFields) |
|
strong |
Protocol< NIC >::Protocol | ( | NIC * | nic, |
EntityType | entity_type = EntityType::UNKNOWN |
||
) |
Protocol::Packet Header Protocol< NIC >::__attribute__ | ( | (packed) | ) |
void Protocol< NIC >::add_neighbor_rsu | ( | unsigned int | rsu_id, |
const MacKeyType & | key, | ||
const Address & | address | ||
) |
|
static |
|
static |