CompletableFuture stubs
Personne n'a encore pris cette issue.
- Langage dominant
- Java
- Étoiles
- 12.1k
- Forks
- 4k
- Merge moyen
- 2 j 17 h
- PR mergées (30 j)
- 37
Description
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.
- Implement
CompletableFuture-based stubs in a stand-alone class generated by a stand-alone protoc plugin. The CF stub class would reference the publicMethodDescriptorsof the stock generated client. This option is easiest to implement, but presents a fragmented programming model. - Implement
CompletableFuture-based stubs inline with the existing generated stubs by adding@@protoc_insertion_points 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. - 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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par examiner les trois stratégies proposées pour les stubs basés sur CompletableFuture, en particulier le client gRPC généré, les MethodDescriptors publics, le protoc plugin et les C++ generator insertion points. Une contribution nécessiterait une approche d’implémentation arrêtée et un périmètre convenu pour intégrer la prise en charge de CompletableFuture tout en préservant la compatibilité avec Java 6.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100