libp2p / libp2p/rust-yamux

How to detect disconnection?

Open
#99 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
250
Forks
62
PR merge metrics
No merged PRs in 30d

Description

Dear all,

I initialize a connection between my local (client) to a remote server (server) using yamux.

Then I switch my computer's connection off, and my local client remain connected forever while yamux or TcpStream should have triggered a disconnection.

How could I solve that?
Shouldn't yamux be capable of detecting that?

It would be better to detect without sending any data, cf. https://github.com/tokio-rs/tokio/issues/2228

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 reading the yamux connection handling and the Tokio issue linked in the report, focusing on how a TcpStream is expected to detect a remote disconnection without application data. Compare that behavior with the described offline-client scenario; the issue is complete only when a concrete detection approach and its expected behavior are defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.