marcoferrer / kroto-plus

gRPC Kotlin Coroutines, Protobuf DSL, Scripting for Protoc
Apache License 2.0
494 stars 28 forks source link

Fix race in client cancellation propagation #98

Closed marcoferrer closed 4 years ago

marcoferrer commented 4 years ago

Address race condition when prematurely cancelling a call via closing its outbound channel.

Issue reported in #93

codecov[bot] commented 4 years ago

Codecov Report

Merging #98 into master will increase coverage by 0.67%. The diff coverage is 64.7%.

Impacted file tree graph

@@             Coverage Diff             @@
##             master     #98      +/-   ##
===========================================
+ Coverage     86.53%   87.2%   +0.67%     
  Complexity       19      19              
===========================================
  Files            15      15              
  Lines           312     344      +32     
  Branches         53      47       -6     
===========================================
+ Hits            270     300      +30     
- Misses           15      26      +11     
+ Partials         27      18       -9
Impacted Files Coverage Δ Complexity Δ
...ithub/marcoferrer/krotoplus/coroutines/RpcUtils.kt 92.3% <ø> (+29.8%) 0 <0> (ø) :arrow_down:
...us/coroutines/client/ClientStreamingCallChannel.kt 81.81% <100%> (+4.04%) 0 <0> (ø) :arrow_down:
...oferrer/krotoplus/coroutines/server/ServerCalls.kt 87.2% <100%> (+5.5%) 0 <0> (ø) :arrow_down:
...rcoferrer/krotoplus/coroutines/call/FlowControl.kt 72.91% <45%> (-16.28%) 0 <0> (ø)
...otoplus/coroutines/client/ClientBidiCallChannel.kt 96.66% <87.5%> (+1.01%) 0 <0> (ø) :arrow_down:
...rrer/krotoplus/coroutines/server/ServerChannels.kt 90% <0%> (+1.11%) 0% <0%> (ø) :arrow_down:
... and 2 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 8c62ab8...da3ed11. Read the comment docs.