Documentation
¶
Index ¶
- Variables
- func ApplyFileSpan(r io.ReadSeeker, span *FileSpan) (io.Reader, error)
- func CompareReaders(r1 io.Reader, r2 io.Reader) (bool, error)
- func CountLines(r io.Reader) (int64, error)
- func NewExactSizeReader(r io.ReadCloser, expectedSize int64) io.ReadCloser
- func NewLazyReader(builder func() (io.Reader, error)) io.Reader
- func NewRechunkingReader(fetchMore func() ([]byte, error)) io.Reader
- func NewSizeLimitedReader(r io.ReadCloser, limit int64) io.ReadCloser
- func ReadFillBuffer(r io.Reader, buf []byte) (n int, err error)
- func SplitReader(r io.ReadCloser, bufSize uint64, n uint) []io.ReadCloser
- type ChanCloser
- type CheckEmptyReader
- type CtxReader
- type DebugReader
- type DelayedEOFReader
- type EofReader
- type ErrorReader
- type ExactSizeReader
- type FileRemoveReader
- type FileSpan
- type FuncReadCloseCloner
- type FuncReader
- type FuncWriter
- type HashReader
- type LazyReader
- type PassCloseReader
- type ProgressReportingReader
- type ReadCloseCloner
- type ReadWithEOFReader
- type RefCountedFileRemoveReader
- type RefCountedFileRemover
- type SharedLimiter
- type SharedThrottledReader
- type SharedThrottledReaderLimiter
- type SizeLimitedReader
- type SizeReader
- type StartReader
- type TempFile
- type ThrottledReader
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrDirtyReader = errors.New("dirty reader")
View Source
var ErrExactSizeMismatch = errors.New("exact size mismatch")
View Source
var ErrMaxSizeExceeded = errors.New("max size exceeded")
Functions ¶
func ApplyFileSpan ¶
func NewExactSizeReader ¶
func NewExactSizeReader(r io.ReadCloser, expectedSize int64) io.ReadCloser
func NewSizeLimitedReader ¶
func NewSizeLimitedReader(r io.ReadCloser, limit int64) io.ReadCloser
func ReadFillBuffer ¶
ReadFillBuffer is similar to io.ReadFull but it does not return ErrUnexpectedEOF
func SplitReader ¶
func SplitReader(r io.ReadCloser, bufSize uint64, n uint) []io.ReadCloser
Types ¶
type ChanCloser ¶
func NewChanCloser ¶
func NewChanCloser(r io.Reader, ch chan bool) *ChanCloser
func (*ChanCloser) Close ¶
func (c *ChanCloser) Close() error
type CheckEmptyReader ¶
type CheckEmptyReader struct {
// contains filtered or unexported fields
}
func NewCheckEmptyReader ¶
func NewCheckEmptyReader(r io.ReadCloser) *CheckEmptyReader
func (*CheckEmptyReader) Close ¶
func (r *CheckEmptyReader) Close() (err error)
func (*CheckEmptyReader) IsEmpty ¶
func (r *CheckEmptyReader) IsEmpty() (isEmpty bool, err error)
type DebugReader ¶
type DebugReader struct {
// contains filtered or unexported fields
}
func NewDebugReader ¶
func NewDebugReader(r io.Reader) *DebugReader
func (*DebugReader) String ¶
func (r *DebugReader) String() string
type DelayedEOFReader ¶
type DelayedEOFReader struct {
// contains filtered or unexported fields
}
DelayedEOFReader fixes Read behaviour when n > 0 and err == io.EOF. Read usually returns (1, nil) and (0, io.EOF) but it can also just end with (1, io.EOF). DelayedEOFReader fixes the second behavior to behave like the first one.
func NewDelayedEOFReader ¶
func NewDelayedEOFReader(r io.Reader) *DelayedEOFReader
type EofReader ¶
func NewEofReader ¶
type ErrorReader ¶
type ErrorReader struct {
Error error
}
func NewErrorReader ¶
func NewErrorReader(err error) *ErrorReader
type ExactSizeReader ¶
type ExactSizeReader struct {
// contains filtered or unexported fields
}
func (*ExactSizeReader) Close ¶
func (r *ExactSizeReader) Close() (err error)
type FileRemoveReader ¶
func NewFileRemoveReader ¶
func NewFileRemoveReader(file *os.File) *FileRemoveReader
func (*FileRemoveReader) Close ¶
func (r *FileRemoveReader) Close() error
type FuncReadCloseCloner ¶
type FuncReadCloseCloner struct { io.ReadCloser CloneFunc func() (io.ReadCloser, error) }
func (*FuncReadCloseCloner) Clone ¶
func (r *FuncReadCloseCloner) Clone() (io.ReadCloser, error)
type FuncReader ¶
type FuncWriter ¶
type HashReader ¶
func NewHashReader ¶
func NewHashReader(reader io.Reader) *HashReader
func NewHashReaderFromState ¶
func NewHashReaderFromState(reader io.Reader, state []byte) *HashReader
func (*HashReader) GetState ¶
func (r *HashReader) GetState() []byte
func (*HashReader) Hash ¶
func (r *HashReader) Hash() (hash string)
type LazyReader ¶
type LazyReader struct {
// contains filtered or unexported fields
}
func (*LazyReader) Close ¶
func (lr *LazyReader) Close() error
type PassCloseReader ¶
type PassCloseReader struct {
// contains filtered or unexported fields
}
func NewPassCloseReader ¶
func NewPassCloseReader(reader io.Reader, close func() error) *PassCloseReader
func (*PassCloseReader) Close ¶
func (r *PassCloseReader) Close() error
type ProgressReportingReader ¶
type ProgressReportingReader struct {
// contains filtered or unexported fields
}
func NewProgressReportingReader ¶
func NewProgressReportingReader(r io.Reader, minChange int64, onChange func(bytesRead int64)) *ProgressReportingReader
type ReadCloseCloner ¶
type ReadCloseCloner interface { io.ReadCloser Clone() (io.ReadCloser, error) }
type ReadWithEOFReader ¶
type ReadWithEOFReader struct {
// contains filtered or unexported fields
}
ReadWithEOFReader is used for testing Read behaviour when n > 0 and err == io.EOF. Read usually returns (1, nil) and (0, io.EOF) but it can also just end with (1, io.EOF).
func NewReadWithEOFReader ¶
func NewReadWithEOFReader() *ReadWithEOFReader
func NewReadWithEOFReaderLen ¶
func NewReadWithEOFReaderLen(l int) *ReadWithEOFReader
type RefCountedFileRemoveReader ¶
func (*RefCountedFileRemoveReader) Clone ¶
func (r *RefCountedFileRemoveReader) Clone() (io.ReadCloser, error)
func (*RefCountedFileRemoveReader) Close ¶
func (r *RefCountedFileRemoveReader) Close() error
func (*RefCountedFileRemoveReader) SetOnAfterClose ¶
func (r *RefCountedFileRemoveReader) SetOnAfterClose(onAfterClose func())
type RefCountedFileRemover ¶
type RefCountedFileRemover struct { OnRemoveError func(path string, err error) // contains filtered or unexported fields }
func NewRefCountedFileRemover ¶
func NewRefCountedFileRemover(path string) *RefCountedFileRemover
func (*RefCountedFileRemover) Open ¶
func (r *RefCountedFileRemover) Open() (*RefCountedFileRemoveReader, error)
func (*RefCountedFileRemover) TotalClonedCount ¶
func (r *RefCountedFileRemover) TotalClonedCount() int64
type SharedLimiter ¶
type SharedLimiter struct {
// contains filtered or unexported fields
}
func NewSharedLimiter ¶
func NewSharedLimiter(bytesPerSec int64) *SharedLimiter
func (*SharedLimiter) GetLimit ¶
func (l *SharedLimiter) GetLimit() int64
func (*SharedLimiter) SetLimit ¶
func (l *SharedLimiter) SetLimit(newBytesPerSec int64)
type SharedThrottledReader ¶
type SharedThrottledReader struct {
// contains filtered or unexported fields
}
func NewSharedThrottledReader ¶
func NewSharedThrottledReader(ctx context.Context, r io.ReadCloser, limiter SharedThrottledReaderLimiter) *SharedThrottledReader
func (*SharedThrottledReader) Close ¶
func (r *SharedThrottledReader) Close() (err error)
type SharedThrottledReaderLimiter ¶
type SharedThrottledReaderLimiter interface {
}type SizeLimitedReader ¶
type SizeLimitedReader struct {
// contains filtered or unexported fields
}
func (*SizeLimitedReader) Close ¶
func (r *SizeLimitedReader) Close() (err error)
type SizeReader ¶
func NewSizeReader ¶
func NewSizeReader(reader io.Reader) *SizeReader
func (*SizeReader) Size ¶
func (r *SizeReader) Size() (size int64)
type StartReader ¶
func NewStartReader ¶
func NewStartReader(reader io.Reader, onStart func()) *StartReader
type TempFile ¶
func NewTempFile ¶
type ThrottledReader ¶
type ThrottledReader struct {
// contains filtered or unexported fields
}
func NewThrottledReader ¶
func NewThrottledReader(ctx context.Context, r io.ReadCloser, bytesPerSec int64) *ThrottledReader
func (*ThrottledReader) Close ¶
func (r *ThrottledReader) Close() (err error)
Source Files
¶
- chan_closer.go
- check_empty_reader.go
- count_lines.go
- ctx_reader.go
- debug_reader.go
- delayed_eof_reader.go
- eof_reader.go
- equalreader.go
- error_reader.go
- exact_size_reader.go
- file_remove_reader.go
- filespan.go
- func_read_close_cloner.go
- func_reader.go
- func_writer.go
- hash_reader.go
- lazy_reader.go
- pass_close_reader.go
- progress_reporting_reader.go
- read_close_cloner.go
- read_fill_buffer.go
- read_with_eof_reader.go
- ref_counted_file_remover.go
- shared_throttled_reader.go
- size_limited_reader.go
- size_reader.go
- split_reader.go
- start_reader.go
- tempfile.go
- throttled_reader.go
Click to show internal directories.
Click to hide internal directories.