Communication Library for Autonomous Systems v1.0
Reliable and secure communication library for autonomous vehicle systems
Loading...
Searching...
No Matches
Gateway Class Reference

#include <gateway.h>

Public Types

typedef Network::Communicator Communicator
 
typedef Network::Protocol Protocol
 
typedef Protocol::Address Address
 
typedef Network::Message Message
 
typedef Message::Unit Unit
 
typedef CAN::Observer Observer
 
typedef std::unordered_map< Unit, std::unordered_set< Observer * > > Map
 

Public Member Functions

 Gateway (const unsigned int id, Network::EntityType entity_type=Network::EntityType::VEHICLE)
 
 ~Gateway ()
 
void start ()
 
bool send (Message *message)
 
bool receive (Message *msg)
 
bool internalReceive (Message *msg)
 
bool running () const
 
const Addressaddress ()
 
CANbus ()
 
Networknetwork ()
 
void setup_csv_logging (const std::string &log_dir)
 
void log_message (const Message &msg, const std::string &direction)
 

Static Public Member Functions

static voidmainloop (void *arg)
 
static voidinternalLoop (void *arg)
 

Public Attributes

const unsigned int PORT = 0
 

Static Public Attributes

static const unsigned int MAX_MESSAGE_SIZE = Protocol::MTU - sizeof(Protocol::Header) - sizeof(Protocol::TimestampFields)
 

Member Typedef Documentation

◆ Address

◆ Communicator

◆ Map

typedef std::unordered_map<Unit, std::unordered_set<Observer*> > Gateway::Map

◆ Message

◆ Observer

◆ Protocol

◆ Unit

Constructor & Destructor Documentation

◆ Gateway()

Gateway::Gateway ( const unsigned int  id,
Network::EntityType  entity_type = Network::EntityType::VEHICLE 
)
inline

◆ ~Gateway()

Gateway::~Gateway ( )
inline

Member Function Documentation

◆ address()

const Gateway::Address & Gateway::address ( )
inline

◆ bus()

CAN * Gateway::bus ( )
inline

◆ internalLoop()

void * Gateway::internalLoop ( void arg)
inlinestatic

◆ internalReceive()

bool Gateway::internalReceive ( Message msg)
inline

◆ log_message()

void Gateway::log_message ( const Message msg,
const std::string &  direction 
)
inline

◆ mainloop()

void * Gateway::mainloop ( void arg)
inlinestatic

◆ network()

Network * Gateway::network ( )
inline

◆ receive()

bool Gateway::receive ( Message msg)
inline

◆ running()

bool Gateway::running ( ) const
inline

◆ send()

bool Gateway::send ( Message message)
inline

◆ setup_csv_logging()

void Gateway::setup_csv_logging ( const std::string &  log_dir)
inline

◆ start()

void Gateway::start ( )
inline

Member Data Documentation

◆ MAX_MESSAGE_SIZE

const unsigned int Gateway::MAX_MESSAGE_SIZE = Protocol::MTU - sizeof(Protocol::Header) - sizeof(Protocol::TimestampFields)
inlinestatic

◆ PORT

const unsigned int Gateway::PORT = 0

The documentation for this class was generated from the following file: