ea

package
v0.0.0-...-81aed03 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TransferDataWithSplitReadAndWrites

func TransferDataWithSplitReadAndWrites(dest ByteBlockWriter, nBytesToRead int, r ByteReadReader, maxConsecutiveBytesToRead int, ra *rand.Rand) (singleByteReads int, blockReads int, bytesBlockReads int, n int, err error)

TransferDataWithSplitReadAndWrites copies nBytesToRead from r to dest by randomly using io.Reader and io.ByteReader interface. The number of bytes transferred by each method is roughly balanced.

Types

type ByteBlockDiscardReader

type ByteBlockDiscardReader interface {
	ByteReadReader
	Discard(n int) (int, error)
}

func NewByteBlockReaderDiscardReader

func NewByteBlockReaderDiscardReader(reader interface{}) (ByteBlockDiscardReader, error)

type ByteBlockWriter

type ByteBlockWriter interface {
	io.ByteWriter
	io.Writer
}

type ByteReadReader

type ByteReadReader interface {
	io.Reader
	io.ByteReader
}

type BytesBlockByteReadReader

type BytesBlockByteReadReader struct {
	// contains filtered or unexported fields
}

func NewBytesBlockByteReadReader

func NewBytesBlockByteReadReader(r ByteReadReader) *BytesBlockByteReadReader

func (*BytesBlockByteReadReader) Discard

func (inst *BytesBlockByteReadReader) Discard(n int) (nBytesRead int, err error)

func (*BytesBlockByteReadReader) Read

func (inst *BytesBlockByteReadReader) Read(p []byte) (n int, err error)

func (*BytesBlockByteReadReader) ReadByte

func (inst *BytesBlockByteReadReader) ReadByte() (byte, error)

type DeferredTee

type DeferredTee struct {
	// contains filtered or unexported fields
}

func NewDeferredTee

func NewDeferredTee(r *bufio.Reader, w io.Writer, buf *bytes.Buffer) *DeferredTee

func (*DeferredTee) Discard

func (inst *DeferredTee) Discard(n int) (int, error)

Discard needs buffering, use DiscardAndFlush to stream directly to output

func (*DeferredTee) DiscardAndFlush

func (inst *DeferredTee) DiscardAndFlush(n int) (nWritten int, err error)

func (*DeferredTee) Flush

func (inst *DeferredTee) Flush() (int, error)

func (*DeferredTee) Peek

func (inst *DeferredTee) Peek(n int) ([]byte, error)

func (*DeferredTee) Read

func (inst *DeferredTee) Read(p []byte) (n int, err error)

func (*DeferredTee) ReadByte

func (inst *DeferredTee) ReadByte() (b byte, err error)

type SizeMeasureWriter

type SizeMeasureWriter struct {
	Size uint64
}

func (*SizeMeasureWriter) Reset

func (inst *SizeMeasureWriter) Reset()

func (*SizeMeasureWriter) Write

func (inst *SizeMeasureWriter) Write(p []byte) (n int, err error)

type TeeByteReader

type TeeByteReader struct {
	// contains filtered or unexported fields
}

func NewTeeByteReader

func NewTeeByteReader(r ByteReadReader, w ByteBlockWriter) *TeeByteReader

func (*TeeByteReader) Read

func (t *TeeByteReader) Read(p []byte) (n int, err error)

func (*TeeByteReader) ReadByte

func (t *TeeByteReader) ReadByte() (b byte, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL