Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Close streams when done with them #1445

Closed
@Stebalien

Description

@Stebalien

Our stream muxers all support half-open connections. Therefore, if you receive an EOF on a stream, you must send an EOF on that stream to fully close it. Otherwise, the other end will (if correctly implemented) sit around waiting for the EOF.

I know that the part of bitswap that accepts blocks from peers isn't doing this and I wouldn't be surprised if this doesn't happen in other places as well (stream closing has been a persistent problem in go-ipfs as well).

This showed up in ipfs/interop#28.

Metadata

Metadata

Assignees

Labels

P1High: Likely tackled by core team if no one steps upexp/wizardExtensive knowledge (implications, ramifications) requiredkind/bugA bug in existing code (including security flaws)kind/not-helia-issuestatus/readyReady to be workedtopic/libp2pTopic libp2p

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions