Go to the documentation of this file.
5 #ifndef UAVCAN_TRANSPORT_DISPATCHER_HPP_INCLUDED
6 #define UAVCAN_TRANSPORT_DISPATCHER_HPP_INCLUDED
33 : dispatcher_(dispatcher)
38 void startListening();
40 bool isListening()
const;
45 virtual void handleLoopbackFrame(
const RxFrame&
frame) = 0;
129 void handleFrame(
const CanRxFrame& can_frame);
131 void handleLoopbackFrame(
const CanRxFrame& can_frame);
137 : canio_(driver, allocator, sysclock)
138 , sysclock_(sysclock)
139 , outgoing_transfer_reg_(allocator)
143 , self_node_id_(
NodeID::Broadcast)
144 , self_node_id_is_set_(false)
214 rx_listener_ = listener;
223 bool setNodeID(
NodeID nid);
242 #endif // UAVCAN_TRANSPORT_DISPATCHER_HPP_INCLUDED
virtual ~IRxFrameListener()
LinkedListRoot< LoopbackFrameListenerBase > listeners_
const DataTypeDescriptor & getDataTypeDescriptor() const
ListenerRegistry lsrv_resp_
void removeRxFrameListener()
const LinkedListRoot< TransferListener > & getList() const
ROSCPP_DECL bool exists(const std::string &service_name, bool print_failure_reason)
Dispatcher(ICanDriver &driver, IPoolAllocator &allocator, ISystemClock &sysclock)
unsigned getLength() const
CanIOManager & getCanIOManager()
bool operator()(const TransferListener *listener) const
unsigned getNumServiceRequestListeners() const
ROSCPP_DECL void spinOnce()
ISystemClock & getSystemClock()
LinkedListRoot< TransferListener > list_
TransferPerfCounter & getTransferPerfCounter()
unsigned getNumMessageListeners() const
LoopbackFrameListenerRegistry loopback_listeners_
IRxFrameListener * rx_listener_
unsigned getNumListeners() const
const LinkedListRoot< TransferListener > & getListOfMessageListeners() const
virtual ~LoopbackFrameListenerBase()
const LinkedListRoot< TransferListener > & getListOfServiceRequestListeners() const
bool self_node_id_is_set_
unsigned getNumServiceResponseListeners() const
ListenerRegistry lsrv_req_
DataTypeIDInsertionComparator(DataTypeID id)
OutgoingTransferRegistry outgoing_transfer_reg_
TransferPerfCounter perf_
OutgoingTransferRegistry & getOutgoingTransferRegistry()
unsigned getNumEntries() const
LoopbackFrameListenerRegistry & getLoopbackFrameListenerRegistry()
const TransferPerfCounter & getTransferPerfCounter() const
LoopbackFrameListenerBase(Dispatcher &dispatcher)
const CanIOManager & getCanIOManager() const
void installRxFrameListener(IRxFrameListener *listener)
IRxFrameListener * getRxFrameListener() const
const ISystemClock & getSystemClock() const
const LinkedListRoot< TransferListener > & getListOfServiceResponseListeners() const
Dispatcher & getDispatcher()
bool isPassiveMode() const