-
Notifications
You must be signed in to change notification settings - Fork 8
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 Agemo extension and extension model #42
Add Agemo extension and extension model #42
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.
Please take a look at my 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.
One new comment.
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.
Approved.
* Add v1 of managed subscribe extension service * Moved extension code into its own sub directory * start adding extension builder * Integrated interceptors into extension library * implemented interceptor request deconstruction logic * v1 working extension * v2 working extension * v3 optimized service creation, tonic upgraded to 0.10.0 * fixed fmt and clippy errors * Moved grpcService trait to common, simplified extension code * Renamed grpcService to grpcExtension * Added param definition * Add retries, add constants * remove hand added protos. will add new protos in separate step * add agemo service as submodule * update comment * addressed pr comments * modified retry to match whats in cloud sync (looks more flexible) * push spelling change * fixed spelling * change yaml perms
This PR introduces 3 things:
Adds a flexible extension model that allows for services and layers to be added or removed at compile time behind the feature flag.
Relevant files:
Adds a 'managed_subscribe' extension that communicates with the Agemo service to handle subscription requests that need a custom frequency interval. Also introduces an interceptor for this extension that injects the managed_subscribe endpoint for Providers at register time.
Relevant files:
Adds a sample consumer and provider that utilize the managed_subscribe extension to get some temperature data every 10 seconds.
Relevant files:
Additionally, upgrades tonic 0.9.2 > 0.10.0 and prost 0.11 > 0.12