Open
Description
Carrier.Messaging.GenMqtt
was first introduced when we reworked the chat provider API in summer 2016. The goal was to provide a GenServer
style API on top of basic MQTT queue usage. Cog.Chat.Adapter
was ported to use GenMqtt
to prove the design.
Since then GenMqtt
hasn't been used in any other places. Furthermore, using the message bus for RPC messages is much slower compared to Erlang messaging. The slowness shows up as latency in the command execution path since Cog.Chat.Adapter
provides a key service.
Based on some exploratory prototyping moving Adapter
back to a traditional GenServer
should perceptibly reduce pipeline execution times without impacting any existing functionality.