From fc4802184982eff28daa77e481c8ebb83a7c3f87 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Sun, 3 Jan 2021 20:24:38 +0000 Subject: [PATCH] message router changes --- include/etl/fsm.h | 20 ------------------- .../etl/generators/message_router_generator.h | 15 +++++++------- include/etl/message_bus.h | 7 ------- include/etl/message_router.h | 17 ++++++++-------- 4 files changed, 16 insertions(+), 43 deletions(-) diff --git a/include/etl/fsm.h b/include/etl/fsm.h index cfde1a2b..6347bd74 100644 --- a/include/etl/fsm.h +++ b/include/etl/fsm.h @@ -266,26 +266,6 @@ namespace etl } } - //******************************************* - /// Top level message handler for the FSM. - //******************************************* - void receive(const etl::imessage& message) ETL_OVERRIDE - { - static etl::null_message_router nmr; - receive(nmr, message); - } - - //******************************************* - /// Top level message handler for the FSM. - //******************************************* - void receive(imessage_router& source, etl::message_router_id_t destination_router_id, const etl::imessage& message) ETL_OVERRIDE - { - if ((destination_router_id == get_message_router_id()) || (destination_router_id == imessage_router::ALL_MESSAGE_ROUTERS)) - { - receive(source, message); - } - } - //******************************************* /// Top level message handler for the FSM. //******************************************* diff --git a/include/etl/generators/message_router_generator.h b/include/etl/generators/message_router_generator.h index 0ccd0bf7..1a5a059e 100644 --- a/include/etl/generators/message_router_generator.h +++ b/include/etl/generators/message_router_generator.h @@ -129,14 +129,7 @@ namespace etl virtual bool is_producer() const = 0; virtual bool is_consumer() const = 0; - //******************************************** - void receive(const etl::imessage& message) - { - receive(etl::get_null_message_router(), message); - } - - //******************************************** - void receive(imessage_router& source, etl::message_router_id_t destination_router_id, const etl::imessage& message) + virtual void receive(imessage_router& source, etl::message_router_id_t destination_router_id, const etl::imessage& message) { if ((destination_router_id == get_message_router_id()) || (destination_router_id == imessage_router::ALL_MESSAGE_ROUTERS)) { @@ -144,6 +137,12 @@ namespace etl } } + //******************************************** + void receive(const etl::imessage& message) + { + receive(etl::get_null_message_router(), message); + } + //******************************************** virtual void receive(imessage_router& source, etl::shared_message shared_msg) { diff --git a/include/etl/message_bus.h b/include/etl/message_bus.h index 048ecc7e..6254b702 100644 --- a/include/etl/message_bus.h +++ b/include/etl/message_bus.h @@ -147,13 +147,6 @@ namespace etl } } - //******************************************* - void receive(const etl::imessage& message) ETL_OVERRIDE - { - etl::null_message_router nmr; - receive(nmr, etl::imessage_router::ALL_MESSAGE_ROUTERS, message); - } - //******************************************* void receive(etl::message_router_id_t destination_router_id, const etl::imessage& message) diff --git a/include/etl/message_router.h b/include/etl/message_router.h index 2790794e..1d379c32 100644 --- a/include/etl/message_router.h +++ b/include/etl/message_router.h @@ -118,20 +118,21 @@ namespace etl virtual bool is_consumer() const = 0; //******************************************** - void receive(const etl::imessage& message) - { - receive(etl::get_null_message_router(), message); - } - - //******************************************** - void receive(imessage_router& source, etl::message_router_id_t destination_router_id, const etl::imessage& message) + virtual void receive(imessage_router& source, etl::message_router_id_t destination_router_id, const etl::imessage& message) { if ((destination_router_id == get_message_router_id()) || (destination_router_id == imessage_router::ALL_MESSAGE_ROUTERS)) { receive(source, message); } } - + + //******************************************** + void receive(const etl::imessage& message) + { + receive(etl::get_null_message_router(), message); + } + + //******************************************** virtual void receive(imessage_router& source, etl::shared_message shared_msg) {