refactor(streaming): extract shared client-side stream into internal/… - #1975
Open
junliurs wants to merge 1 commit into
Open
refactor(streaming): extract shared client-side stream into internal/…#1975junliurs wants to merge 1 commit into
junliurs wants to merge 1 commit into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1975 +/- ##
==========================================
+ Coverage 62.84% 62.97% +0.12%
==========================================
Files 394 398 +4
Lines 30267 30603 +336
==========================================
+ Hits 19022 19272 +250
- Misses 9948 10029 +81
- Partials 1297 1302 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
junliurs
force-pushed
the
refactor/extract-common-client-stream
branch
from
July 10, 2026 09:09
2cc0f82 to
65ac6c6
Compare
…clientstream The client-side gRPC stream logic (send/recv event tracing, DoFinish idempotency, BizStatusError surfacing, recv-timeout handling and the client-streaming end-of-stream semantics) was duplicated between the network client (client package) and the in-process LocalCaller (server package). Extract this shared behavior into a new internal/clientstream package exposing a reusable CommonStream, and add internal/localstream providing the in-process stream pair used by LocalCaller. Both client.stream and LocalCaller now embed CommonStream and inject transport-specific behavior (connection release, recv timeout, trace-finish ownership) through Options, so the two callers no longer maintain divergent copies. internal/clientstream must not import client/server/remotecli to avoid import cycles. No behavior change; existing client and server tests pass.
junliurs
force-pushed
the
refactor/extract-common-client-stream
branch
from
July 15, 2026 06:46
65ac6c6 to
40139f9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…clientstream
The client-side gRPC stream logic (send/recv event tracing, DoFinish idempotency, BizStatusError surfacing, recv-timeout handling and the client-streaming end-of-stream semantics) was duplicated between the network client (client package) and the in-process LocalCaller (server package).
Extract this shared behavior into a new internal/clientstream package exposing a reusable CommonStream, and add internal/localstream providing the in-process stream pair used by LocalCaller. Both client.stream and LocalCaller now embed CommonStream and inject transport-specific behavior (connection release, recv timeout, trace-finish ownership) through Options, so the two callers no longer maintain divergent copies.
internal/clientstream must not import client/server/remotecli to avoid import cycles.
No behavior change; existing client and server tests pass.
What type of PR is this?
Check the PR title.
(Optional) Translate the PR title into Chinese.
(Optional) More detailed description for this PR(en: English/zh: Chinese).
en:
zh(optional):
(Optional) Which issue(s) this PR fixes:
(optional) The PR that updates user documentation: