Communication Library for Autonomous Systems v1.0
Reliable and secure communication library for autonomous vehicle systems
Loading...
Searching...
No Matches
initializer.h
Go to the documentation of this file.
1#ifndef INITIALIZER_H
2#define INITIALIZER_H
3
5#include "api/network/nic.h"
8#include <stdexcept>
9
10
47
48/********** Initializer Implementation ***********/
49
51 return new NIC_T();
52}
53
55 if (!nic) {
56 throw std::invalid_argument("NIC cannot be null");
57 }
59}
60
62 if (!nic) {
63 throw std::invalid_argument("NIC cannot be null");
64 }
65 return new Protocol_T(nic, entity_type);
66}
67
68#endif // INITIALIZER_H
Definition communicator.h:16
This class initializes the API.
Definition initializer.h:20
Communicator_T::Message_T Message
Definition initializer.h:26
static NIC_T * create_nic()
Creates a network interface abstraction.
Definition initializer.h:50
Protocol< NIC_T > Protocol_T
Definition initializer.h:24
~Initializer()=default
Communicator< Protocol_T > Communicator_T
Definition initializer.h:25
NIC< SocketEngine > NIC_T
Definition initializer.h:23
static Protocol_T * create_protocol(NIC_T *nic)
Creates a protocol for system communication.
Definition initializer.h:54
Initializer()=default
Template class for network messages with Clock integration.
Definition message.h:31
Definition nic.h:28
Definition protocol.h:29
EntityType
Definition protocol.h:161
Select_Debug<(Traits< T >::debugged &&Traits< Debug >::error)> db(Debug_Error l)
Definition debug.h:166