netConn and msgReader should return io.EOF identically instead of wrapped
- Vorherrschende Sprache
- Go
- Sterne
- 5.5k
- Forks
- 372
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
[*bufio.Scanner](https://pkg.go.dev/bufio#Scanner) and other consumers of `io.Reader` interface expect to receive `io.EOF` identically when reading to the end of a file/stream.
From the io package:
> // EOF is the error returned by Read when no more input is available.
> // (Read must return EOF itself, not an error wrapping EOF,
> // because callers will test for EOF using ==.)
> // Functions should return EOF only to signal a graceful end of input.
> // If the EOF occurs unexpectedly in a structured data stream,
> // the appropriate error is either [ErrUnexpectedEOF] or some other error
> // giving more detail.
> var EOF = errors.New("EOF")
We currently wrap `EOF` along with any other error when reading from `netConn` or `msgReader`. Instead, we should return `io.EOF` identically to conform with the `io.Reader` spec.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Lokalisieren Sie die Implementierungen von netConn und msgReader und untersuchen Sie, wie sie am Ende der Eingabe Fehler melden. Vergleichen Sie ihr Verhalten mit der io.Reader-Anforderung, dass EOF identisch zurückgegeben wird, und überprüfen Sie anschließend, dass beide Reader io.EOF direkt statt eines gewrappten Fehlers zurückgeben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- go
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100