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
Add API && Plugin framework registry #5
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My major question would be,
- Which interface matches the filter in the design doc? I want to have a more concept consistent between codes and doc. Please provide a map in the comments if necessary.
- Event in the doc should be the data of the processor. From my understanding, there should be no explicit boundary between input and output, because every output could be another filter's input. I am curious how you plan to use the InputEvent and OutputEvent.
- Why Output named as
BatchOutputEvents
? Batch or no batch depends on filter works. You could have several inputs to one output, vice versa.
The Batch is pointed to the BatchBuffer context in the design doc. |
Event is a global context, all Events were allowed to transfer in Satellite. InputEvent is a smaller concept for Gatherer. Because Gatherer would put the data in Queue, InputEvent guarantees that Queue can be replaced in different plug-ins. It's up to the plug-in to decide whether to take the original look or serialize to bytes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Put more comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
@surlymo Could you recheck and confirm? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
registry module should be designed further. try it plz.
@surlymo Thx for review again. Both support pointer register and value register. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why named package like defineclient
? What does this mean?
move plugin API to plugin dir ? I do this to avoid packet conflicts ,Do you have any other naming suggestions? could I merge? |
docs/project_structue.md
Outdated
- internal/satellite: The core of Satellite. | ||
- plugins: Contains all plugins. | ||
- plugins/{type}: Contains the plugins of this {type}. Satellite has 6 plugin types, which are collector, queue, parser, filter, client, and forward. | ||
- plugins/{type}/define{type}: Contains the plugin define. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move API defines to plugins dir
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why need duplicate {type}
? And define is a verb, usually, a package name is a noun.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just to avoid package conflicts, let me try again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What conflict?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
already fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What conflict?
It's my mistake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could I merge it? According to chao's advice, the plugin was decoupled.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merging.
Add API && Plugin framework registry. Please review the reasonableness of these definitions