Improve unary server stub
- Vorherrschende Sprache
- Java
- Sterne
- 12.1k
- Forks
- 4k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 37
Beschreibung
The Java unary stub is taking the form of an async service, where a single result is expected to return from a StreamObserver.
This can be error prone:
- You can't tell from the stub whether it's unary or streaming multiple results
- The code can easily call onNext one too many times, or not call onComplete
Unary gRPC stubs for several other stubs expects a single return value from the method. Java should follow the same convention:
https://github.com/grpc/grpc/blob/master/examples/python/helloworld/greeter_server.py
https://github.com/grpc/grpc/blob/master/examples/ruby/greeter_server.rb
https://github.com/grpc/grpc-go/blob/master/examples/helloworld/greeter_server/main.go
Beitragsleitfaden
Rechercherichtung
Beginne damit, die verknüpften Beispiele examples/helloworld/greeter_server.py, greeter_server.rb und greeter_server/main.go mit der Java-Unary-Server-Stub-API zu vergleichen. Verfolge, wie Java Unary-Methoden derzeit darstellt, und ermittle die Auswirkungen auf die Kompatibilität. Als abgeschlossen gilt die Änderung, wenn Unary-Methoden ein einzelnes zurückgegebenes Ergebnis statt eines StreamObserver bereitstellen, während Streaming-Methoden ihr bisheriges Verhalten beibehalten, und Tests diese Konvention abdecken.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- grpc, java
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 32/100