Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inter-module Communication Protocol Standard #451

Open
AlfredoG87 opened this issue Jan 9, 2025 · 0 comments
Open

Inter-module Communication Protocol Standard #451

AlfredoG87 opened this issue Jan 9, 2025 · 0 comments

Comments

@AlfredoG87
Copy link
Contributor

Problem

As a BlockNode Developer (might be a third-party)
I want a decoupled extensible system that allows for async communications between modules and enables SPI
For that we need to create a communication system architecture based on events and pubSub messages channel.
This allows for asynchronous tasks and threads, as well as a completely decoupled system where any plugin can subscribe listen to the message types that it cares about.

Solution

Defining the Messages Types and fields as well as mechanism should take into consideration the different types of modules that we could have, the cardinality of each of those types that is allowed.

The purpose of the ticket is for design the solution and layout the path forward to implement it, should consider SPI capabilities and expected outcome is a MD document with a brief explanation of the protocol and a series of tickets that would be needed to complete the feature.

Alternatives

Keep using Singletons that are injected when created by Dagger, this is the current approach and although it works, and could continue to work, is not extensible friendly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant