Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
L115: Refactor generic service and generic stub
- Loading branch information
1 parent
b9e9a34
commit 0242b0e
Showing
1 changed file
with
42 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
L115: C-Core Refactor generic service and generic stub | ||
---- | ||
* Author(s): ysseung | ||
* Approver: ctiller | ||
* Status: Draft | ||
* Implemented in: C Core | ||
* Last updated: 2024/04/15 | ||
* Discussion at: https://groups.google.com/g/grpc-io/c/TBA | ||
|
||
## Abstract | ||
|
||
We will refactor `async_generic_service.h` and `generic_stub.h` to move | ||
callback based interfaces into separate targets. Existing files will include | ||
the callback based interfaces. | ||
|
||
## Background | ||
|
||
This enables services to only depend on the callback based interfaces of the | ||
generic stub and generic service. | ||
|
||
### Related Proposals: | ||
|
||
None. | ||
|
||
## Proposal | ||
|
||
We will move `CallbackGenericService` in `async_generic_service.h` to a new file | ||
`async_generic_service_callback.h` and make it a new public target | ||
`:generic_service_callback`. `async_generic_service.h` will include | ||
`async_generic_service_callback.h` and existing dependencies will continue to | ||
include both. | ||
|
||
We will also move move callback based interfaces of `TemplatedGenericStub` in | ||
`generic_stub.h` to a new class `TemplatedGenericStubCallback` in | ||
`generic_stub_callback.h` and make it a new public target | ||
`:generic_stub_callback`. `CallbackGenericService` will inherit | ||
`CallbackGenericServiceCallback` and existing dependencies will continue to | ||
include both. | ||
|
||
## Implementation | ||
|
||
TBA |