Skip to content

netConn and msgReader should return io.EOF identically instead of wrapped #504

Open
@spikecurtis

Description

@spikecurtis

*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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions