eclipse-volttron / volttron-core

Other
5 stars 9 forks source link

Break message bus out of volttron-core #89

Open craig8 opened 1 year ago

craig8 commented 1 year ago

Is your feature request related to a problem? Please describe. Each message bus should be able to have a wheel wrapper to plug in to the volttron framework. This allows volttron-core to be developed and stable while still allowing the underlying message bus to be able to update and add new features.

Describe the solution you'd like

craig8 commented 1 year ago

Message buses by convention will be in a package volttron.messagebus.messagebusname. i.e. volttron.messagebus.zmq will be the package for zmq message bus. Within that package there must be a MessageBus concrete class that is to be loaded.

In progress is https://github.com/eclipse-volttron/volttron-lib-zmq/blob/initial_dev/src/volttron/messagebus/zmq/__init__.py#L101 which implements a MessageBusInstance class from https://github.com/eclipse-volttron/volttron-core/blob/remove-auth-from-core/src/volttron/types/message_bus.py#L38 and allows access to the zmq mesage bus.

Configuring of a message bus will be from the main volttron config file (which both client and server must accees by default). The option message-bus: zmq would autoload the concrete class located in the package volttron.messagebus.zmq. The class name is not important, however the concrete class must be a subclass of the MessageBusInstance as detailed above.

craig8 commented 1 year ago

Relates to #121

image