Imports #
"io"
"log"
"bytes"
"errors"
"fmt"
"io"
"io"
"io"
"log"
"bytes"
"errors"
"fmt"
"io"
"io"
ErrTimeout is a fake timeout error.
var ErrTimeout = *ast.CallExpr
type dataErrReader struct {
r io.Reader
unread []byte
data []byte
}
type errReader struct {
err error
}
type halfReader struct {
r io.Reader
}
type oneByteReader struct {
r io.Reader
}
type readLogger struct {
prefix string
r io.Reader
}
type smallByteReader struct {
r io.Reader
off int
n int
}
type timeoutReader struct {
r io.Reader
count int
}
type truncateWriter struct {
w io.Writer
n int64
}
type writeLogger struct {
prefix string
w io.Writer
}
DataErrReader changes the way errors are handled by a Reader. Normally, a Reader returns an error (typically EOF) from the first Read call after the last piece of data is read. DataErrReader wraps a Reader and changes its behavior so the final error is returned along with the final data, instead of in the first call after the final data.
func DataErrReader(r io.Reader) io.Reader
ErrReader returns an [io.Reader] that returns 0, err from all Read calls.
func ErrReader(err error) io.Reader
HalfReader returns a Reader that implements Read by reading half as many requested bytes from r.
func HalfReader(r io.Reader) io.Reader
NewReadLogger returns a reader that behaves like r except that it logs (using [log.Printf]) each read to standard error, printing the prefix and the hexadecimal data read.
func NewReadLogger(prefix string, r io.Reader) io.Reader
NewWriteLogger returns a writer that behaves like w except that it logs (using [log.Printf]) each write to standard error, printing the prefix and the hexadecimal data written.
func NewWriteLogger(prefix string, w io.Writer) io.Writer
OneByteReader returns a Reader that implements each non-empty Read by reading one byte from r.
func OneByteReader(r io.Reader) io.Reader
func (r *timeoutReader) Read(p []byte) (int, error)
func (l *readLogger) Read(p []byte) (n int, err error)
func (r *dataErrReader) Read(p []byte) (n int, err error)
func (r *oneByteReader) Read(p []byte) (int, error)
func (r *halfReader) Read(p []byte) (int, error)
func (r *errReader) Read(p []byte) (int, error)
func (r *smallByteReader) Read(p []byte) (int, error)
TimeoutReader returns [ErrTimeout] on the second read with no data. Subsequent calls to read succeed.
func TimeoutReader(r io.Reader) io.Reader
TruncateWriter returns a Writer that writes to w but stops silently after n bytes.
func TruncateWriter(w io.Writer, n int64) io.Writer
func (l *writeLogger) Write(p []byte) (n int, err error)
func (t *truncateWriter) Write(p []byte) (n int, err error)
Generated with Arrow