-
Notifications
You must be signed in to change notification settings - Fork 912
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
msggen: introduce chain of responsibility pattern to make msggen
extensible
#5216
msggen: introduce chain of responsibility pattern to make msggen
extensible
#5216
Conversation
d13ee59
to
7ef414e
Compare
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
7ef414e
to
64ff83a
Compare
b139688
to
c49dc09
Compare
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
…nsible Changelog-Added: msggen: introduce chain of responsibility pattern to make msggen extensible Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
c49dc09
to
d93a3ae
Compare
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
d93a3ae
to
79c3df7
Compare
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
I'm not quite sure what you're trying to achieve here, if we release Let's keep the refactoring and the creation of a top-level interface, and drop the plugin-like system of adding a generator to a set of generators that are to be executed as a block. That is also much more in line with the Makefile semantics. |
The chain of responsibility IMHO is a good addition to include in the library, because can be some cases where we can dependencies between steps. This pattern can make the code cleaner to read and write imho. However, the same solution is achieved with the hardcoded inside the python script from the user! |
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
I see, the generator chain threw me off, as it looked like we'd end up creating a single huge chain that'd add all the generators to a single entry-point, whereas you plan to build a chain for each entry-point which can then live in various different repos, independently of this repo. Seems quite alright, thanks for the cleanup along the way. I'm not exactly convinced that the chain of responsibility pattern is what we want here (or if it is even achieved by the code, since every message goes through every generator, and isn't handled by the first matching generator), but it doesn't add much complexity and can serve as a grouping of logically correlated generators. ACK 79c3df7 |
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This commit adds a new project for calling c-lightning from .NET in a typesafe way. Most of the codes are auto-generated from client generator built in ref: ElementsProject/lightning#5201 It must be updated after ElementsProject/lightning#5216 gets merged. So that all the generation logics is defined in this repo. But this is good enough for temporary solution.
This abstraction was easy beceuse @cdecker make a great work
So, when mssgen will be released like a library, the user can create their own generator that extends IGenerator, and put it inside the following configuration
Pro:
Cons: