Skip to content

airframe-grpc: Support client, server, and bidirectional streaming#1239

Merged
xerial merged 14 commits intowvlet:masterfrom
xerial:grpc-rx
Aug 18, 2020
Merged

airframe-grpc: Support client, server, and bidirectional streaming#1239
xerial merged 14 commits intowvlet:masterfrom
xerial:grpc-rx

Conversation

@xerial
Copy link
Copy Markdown
Member

@xerial xerial commented Aug 17, 2020

This will close #1226

  • Use Rx[X] interface for streaming
  • Generate streaming client code
  • Add bridges between Rx[X] and StreamObserver[X] of gRPC

@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 17, 2020

Codecov Report

Merging #1239 into master will decrease coverage by 0.08%.
The diff coverage is 80.85%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1239      +/-   ##
==========================================
- Coverage   83.39%   83.31%   -0.09%     
==========================================
  Files         293      295       +2     
  Lines       11268    11397     +129     
  Branches      717      701      -16     
==========================================
+ Hits         9397     9495      +98     
- Misses       1871     1902      +31     
Impacted Files Coverage Δ
.../main/scala/wvlet/airframe/http/router/Route.scala 83.33% <ø> (ø)
...vlet/airframe/http/codegen/client/GrpcClient.scala 78.57% <66.66%> (-17.99%) ⬇️
...ala/wvlet/airframe/http/grpc/GrpcClientCalls.scala 72.72% <72.72%> (ø)
...a/wvlet/airframe/http/grpc/RPCRequestHandler.scala 71.42% <73.01%> (+2.67%) ⬆️
...main/scala/wvlet/airframe/rx/RxBlockingQueue.scala 75.00% <75.00%> (ø)
...rx/src/main/scala/wvlet/airframe/rx/RxRunner.scala 94.93% <77.77%> (-1.04%) ⬇️
...frame-rx/src/main/scala/wvlet/airframe/rx/Rx.scala 85.45% <83.33%> (-0.26%) ⬇️
.../wvlet/airframe/http/grpc/GrpcServiceBuilder.scala 93.93% <90.47%> (-6.07%) ⬇️
...in/scala/wvlet/airframe/http/grpc/GrpcServer.scala 76.47% <100.00%> (+3.13%) ⬆️
...ala/wvlet/airframe/http/codegen/HttpClientIR.scala 91.07% <100.00%> (+1.94%) ⬆️
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b58d40a...1212b6b. Read the comment docs.

@xerial
Copy link
Copy Markdown
Member Author

xerial commented Aug 18, 2020

@takezoe @shimamoto
This is the initial streaming support for gRPC. The code still has rough edges and lacks some error handling. Let me merge this PR first. I'll improve these things over time.

@xerial xerial merged commit bbfef41 into wvlet:master Aug 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

airframe-grpc: Streaming interface

1 participant