21 lines
739 B
Python
21 lines
739 B
Python
from services.mqtt_service import MQTTService
|
|
|
|
class MQTTForwarder:
|
|
|
|
client_id : str
|
|
local_broker : MQTTService
|
|
central_broker : MQTTService
|
|
|
|
def __init__(self, client_id : str, local_mqtt: MQTTService, central_mqtt: MQTTService):
|
|
self.client_id = client_id
|
|
self.local_broker = local_mqtt
|
|
self.central_broker = central_mqtt
|
|
|
|
def start(self, src_topic: str, dst_topic: str):
|
|
try:
|
|
def forward_handler(topic: str, msg: str):
|
|
self.central_broker.publish(dst_topic, msg)
|
|
|
|
self.local_broker.subscribe(src_topic, forward_handler)
|
|
except Exception as e:
|
|
print(f"An error occurred while forwarding from {src_topic} to {dst_topic}: {e}") |