Skip to content

backport: preserve Remoter sends after peer write EOF - #3

Merged
kentbull merged 4 commits into
release/v0.6.20from
backport/tcp-remoter-half-close-v0.6.20
Aug 24, 2026
Merged

kentbull merged 4 commits into
release/v0.6.20from
backport/tcp-remoter-half-close-v0.6.20

Conversation

@kentbull

@kentbull kentbull commented Aug 24, 2026 •

Copy link
Copy Markdown
Collaborator

Adapts ioflo/hio#163 to the GLEIF Python 3.12-compatible 0.6 maintenance line.

Keep Remoter.cutoff as the local receive-closure indicator and add txCutoff for independent transmit closure. When local receive observes peer write EOF, queued response bytes may continue draining until transmission closes or fails.

This is a focused Remoter transport change. It does not add a general close state machine or make the endpoint responsible for parser completion, output-settlement policy, or final teardown.

Base: published HIO 0.6.19 commit 3daa9bfa7bd714276f08219b91abd1914d8b6428.

The prior .cutoff = True state prevented half-closed TCP connections from servicing the non-closed half. EOF on the sending half could therefore prevent final response bytes from being received.

Add explicit send and receive states so a connection can distinguish half-closed, fully closed, and failed conditions while retaining the deprecated cutoff interface.

Backport the focused implementation and regression coverage to the Python 3.12-compatible 0.6 maintenance line.
Bring the merged UDP loopback test correction into this branch so CI evaluates the TCP half-close backport against the current 0.6.20 release base.
Merge release/v0.6.20 at bde6319 and resolve the overlapping TCP test file by retaining both the accepted-socket regression and half-close coverage.
Merge release/v0.6.20 at 9aa4656 so the final TCP half-close pull request retains the accepted-socket recovery and Remoter tymeout behavior already merged into the release line.
@kentbull
kentbull merged commit de51320 into release/v0.6.20 Aug 24, 2026
3 checks passed
@kentbull
kentbull deleted the backport/tcp-remoter-half-close-v0.6.20 branch August 24, 2026 18:16
@kentbull kentbull changed the title backport: TCP half and full close support for 0.6 backport: preserve Remoter sends after peer write EOF Aug 29, 2026
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.

1 participant