CompletableFuture stubs
- Vorherrschende Sprache
- Java
- Sterne
- 12.1k
- Forks
- 4k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 37
Beschreibung
Hello,
I'd like to start a discussion about adding a `CompletableFuture`-based stub implementations to gRPC. I understand that generated gRPC code must be backwards compatible with Java 6, so here are some alternative implementation strategies to consider.
1. Implement `CompletableFuture`-based stubs in a stand-alone class generated by a stand-alone protoc plugin. The CF stub class would reference the public `MethodDescriptors` of the stock generated client. This option is easiest to implement, but presents a fragmented programming model.
1. Implement `CompletableFuture`-based stubs inline with the existing generated stubs by adding `@@protoc_insertion_point`s to the stock c++ generator. A protoc plugin would be used to populate the insertion points. This option has the benefit of presenting a homogenous programming model for this, and all future plugin-based stub extensions, but requires a coordinated one time change with the protoc project.
1. Extend the c++ generator with optional support for `CompletableFuture`. Use a protoc flag to turn it on and off. Not a great option, but possible.
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit der Überprüfung der drei vorgeschlagenen Strategien für auf CompletableFuture basierende Stubs, insbesondere des generierten gRPC-Clients, der öffentlichen MethodDescriptors, des protoc plugin und der C++ generator insertion points. Ein Beitrag würde einen festgelegten Implementierungsansatz und einen abgestimmten Umfang für die Integration der CompletableFuture-Unterstützung erfordern, wobei die Kompatibilität mit Java 6 erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- api
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100