libp2p / libp2p/go-mplex

Distinguish between locally reset and remotely closed streams

Open
#49 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/bug
Dominant language
Go
Stars
37
Forks
20
PR merge metrics
No merged PRs in 30d

Description

We currently log a warning and send a reset (again) when handling messages if we locally reset a stream. We should either:

  1. Not do this.
  2. Remember if the remote side has closed the stream so we correctly log the error.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the message-handling path that logs a warning and sends a reset after a local stream reset. Determine how the implementation can distinguish a locally reset stream from one closed by the remote side. Done means the warning and reset behavior no longer incorrectly treats local closure as remote closure.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.