dispatcher: split into multiple interfaces to improve functional scoping#16709
dispatcher: split into multiple interfaces to improve functional scoping#16709junr03 merged 6 commits intoenvoyproxy:mainfrom
Conversation
Signed-off-by: Mike Schore <mike.schore@gmail.com>
Signed-off-by: Mike Schore <mike.schore@gmail.com>
|
Note this is straight refactor; it only moves the function declarations between interfaces, all of which the Dispatcher still implements. I did a search for the previous DispatcherBase and didn't find any usage. |
Signed-off-by: Mike Schore <mike.schore@gmail.com>
Signed-off-by: Mike Schore <mike.schore@gmail.com>
Signed-off-by: Mike Schore <mike.schore@gmail.com>
|
/retest |
|
Retrying Azure Pipelines: |
|
@antoniovicente did you have additional feedback here? @goaway do you mind merging main? |
Signed-off-by: Mike Schore <mike.schore@gmail.com>
antoniovicente
left a comment
There was a problem hiding this comment.
Looks good.
Sorry for the delays in review. I have been moving and that has required being OOO for a few days.
|
/retest |
|
Retrying Azure Pipelines: |
|
/retest |
|
Retrying Azure Pipelines: |
|
Thanks @antoniovicente! |
|
/retest |
|
Retrying Azure Pipelines: |
…ing (envoyproxy#16709) Commit Message: dispatcher: split into multiple interfaces to improve functional scoping Risk Level: Moderate Testing: Local & CI Signed-off-by: Mike Schore <mike.schore@gmail.com>
Commit Message: dispatcher: split into multiple interfaces to improve functional scoping
Additional Description: The Envoy event dispatcher is a bit of a multi-tool, and often only a small portion of its interface is used in a given context. Envoy Mobile has various cases where it needs to wrap or extend pieces of the Event::Dispatcher, but it's difficult to simply wrap it in its entirety given the amount of functionality it has. Having it implement more narrowly scoped interfaces makes it easier to do this.
This can also simplify mocking and testing dispatcher functionality in different contexts and could eventually support more compartmentalized implementation as well.
Risk Level: Moderate
Testing: Local & CI