Communication Library for Autonomous Systems v1.0
Reliable and secure communication library for autonomous vehicle systems
Loading...
Searching...
No Matches
Communicator< Channel > Class Template Reference

#include <communicator.h>

Inheritance diagram for Communicator< Channel >:
Concurrent_Observer< Channel::Observer::Observed_Data, Channel::Observer::Observing_Condition > Conditional_Data_Observer< T, Condition >

Public Types

typedef Concurrent_Observer< typename Channel::Observer::Observed_Data, typename Channel::Observer::Observing_Condition > Observer
 
typedef Channel::Buffer Buffer
 
typedef Channel::Address Address
 
typedef Channel::Port Port
 
typedef Message< ChannelMessage_T
 
- Public Types inherited from Concurrent_Observer< Channel::Observer::Observed_Data, Channel::Observer::Observing_Condition >
typedef Channel::Observer::Observed_Data Observed_Data
 
typedef Channel::Observer::Observing_Condition Observing_Condition
 
typedef Concurrent_Observed< Channel::Observer::Observed_Data, Channel::Observer::Observing_Condition > Observed
 
- Public Types inherited from Conditional_Data_Observer< T, Condition >
typedef T Observed_Data
 
typedef Condition Observing_Condition
 
typedef Conditionally_Data_Observed< T, ConditionObserved
 

Public Member Functions

 Communicator (Channel *channel, Address address)
 
 ~Communicator ()
 
bool send (const Message_T *message)
 
bool receive (Message_T *message)
 
const Addressaddress () const
 
void release ()
 
 Communicator (const Communicator &)=delete
 
Communicatoroperator= (const Communicator &)=delete
 
- Public Member Functions inherited from Concurrent_Observer< Channel::Observer::Observed_Data, Channel::Observer::Observing_Condition >
 Concurrent_Observer (Channel::Observer::Observing_Condition rank)
 
 ~Concurrent_Observer ()
 
void update (Channel::Observer::Observing_Condition c, Channel::Observer::Observed_Data *d) override
 
Channel::Observer::Observed_Data * updated ()
 
void detach_signal ()
 
- Public Member Functions inherited from Conditional_Data_Observer< T, Condition >
 Conditional_Data_Observer (Condition c)
 
virtual ~Conditional_Data_Observer ()=default
 
virtual void update (Condition c, Observed_Data *d)
 
const Condition rank ()
 

Public Attributes

std::atomic< bool_running
 

Static Public Attributes

static constexpr const unsigned int MAX_MESSAGE_SIZE = Channel::MTU
 

Additional Inherited Members

- Protected Attributes inherited from Conditional_Data_Observer< T, Condition >
Condition _rank
 
List< T_data
 

Member Typedef Documentation

◆ Address

template<typename Channel >
typedef Channel::Address Communicator< Channel >::Address

◆ Buffer

template<typename Channel >
typedef Channel::Buffer Communicator< Channel >::Buffer

◆ Message_T

◆ Observer

template<typename Channel >
typedef Concurrent_Observer<typename Channel::Observer::Observed_Data, typename Channel::Observer::Observing_Condition> Communicator< Channel >::Observer

◆ Port

template<typename Channel >
typedef Channel::Port Communicator< Channel >::Port

Constructor & Destructor Documentation

◆ Communicator() [1/2]

template<typename Channel >
Communicator< Channel >::Communicator ( Channel channel,
Address  address 
)

◆ ~Communicator()

◆ Communicator() [2/2]

Member Function Documentation

◆ address()

template<typename Channel >
const Communicator< Channel >::Address & Communicator< Channel >::address ( ) const

◆ operator=()

◆ receive()

template<typename Channel >
bool Communicator< Channel >::receive ( Message_T message)

◆ release()

template<typename Channel >
void Communicator< Channel >::release ( )

◆ send()

template<typename Channel >
bool Communicator< Channel >::send ( const Message_T message)

Member Data Documentation

◆ _running

template<typename Channel >
std::atomic<bool> Communicator< Channel >::_running

◆ MAX_MESSAGE_SIZE

template<typename Channel >
constexpr const unsigned int Communicator< Channel >::MAX_MESSAGE_SIZE = Channel::MTU
staticconstexpr

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