34 #error THIS HEADER IS A GENERATOR. DO NOT INCLUDE.
63 #ifndef ETL_MESSAGE_ROUTER_INCLUDED
64 #define ETL_MESSAGE_ROUTER_INCLUDED
70 #include "message_packet.h"
71 #include "message_types.h"
122 virtual bool is_null_router()
const = 0;
123 virtual bool is_producer()
const = 0;
124 virtual bool is_consumer()
const = 0;
129 return accepts(msg.message_id);
133 etl::message_router_id_t get_message_router_id()
const
135 return message_router_id;
141 successor = &successor_;
151 bool has_successor()
const
153 return (successor != ETL_NULLPTR);
158 NULL_MESSAGE_ROUTER = 255,
160 ALL_MESSAGE_ROUTERS = 253,
161 MAX_MESSAGE_ROUTER = 249
167 : successor(ETL_NULLPTR),
168 message_router_id(id_)
174 : successor(&successor_),
175 message_router_id(id_)
187 etl::message_router_id_t message_router_id;
224 ETL_DEPRECATED
bool is_null_router()
const ETL_OVERRIDE
230 bool is_producer()
const ETL_OVERRIDE
236 bool is_consumer()
const ETL_OVERRIDE
283 ETL_DEPRECATED
bool is_null_router()
const ETL_OVERRIDE
289 bool is_producer()
const ETL_OVERRIDE
295 bool is_consumer()
const ETL_OVERRIDE
317 destination.receive(source, message);
This is the base of all message routers.
Definition: message_router_generator.h:114
This router can be used as a producer-only of messages, such an interrupt routine.
Definition: message_router_generator.h:253
Base exception class for message router.
Definition: message_router_generator.h:88
Router id is out of the legal range.
Definition: message_router_generator.h:101
This router can be used as a sink for messages or a 'null source' router.
Definition: message_router_generator.h:194
Definition: exception.h:47
Definition: absolute.h:37
uint_least8_t message_id_t
Allow alternative type for message id.
Definition: message_types.h:40