libp2p / libp2p/cpp-libp2p

YamuxStream is tagged to Unreadable too early, since there may be data that hasn't been processed

Offen
#167 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

help wanted
Vorherrschende Sprache
C++
Sterne
492
Forks
130
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

From testing of my program, after YamuxStream tagging stream being unreadable in onFINReceived at this line, there may still be remaining data to be processed in onLengthRead.
So I think tagging stream being unreadable in onFINReceived is too early.

I have no better idea for now, so I just comment this line to workaround this issue.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in src/muxer/yamux/yamux_stream.cpp bei onFINReceived und der referenzierten Zeile und verfolge dann, wie verbleibende Daten onLengthRead in src/protocol/kademlia/impl/session.cpp erreichen. Bestätige, dass der Stream nicht als unreadable markiert wird, bevor ausstehende Daten verarbeitet werden; abgeschlossen ist die Aufgabe, wenn die Reihenfolge von FIN und dem unreadable-Zustand diese Daten nicht mehr verliert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.