pipe

package
v0.0.0-...-3a6f846 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2023 License: MPL-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(opts ...Option) (*Reader, *Writer)

New creates a new Reader and Writer that connects to each other.

Types

type Option

type Option func(*pipeOption)

Option for creating new Pipes.

func DiscardOverflow

func DiscardOverflow() Option

DiscardOverflow returns an Option for Pipe to discard writes if full.

func OptionsFromContext

func OptionsFromContext(ctx context.Context) []Option

OptionsFromContext returns a list of Options from context.

func WithSizeLimit

func WithSizeLimit(limit int32) Option

WithSizeLimit returns an Option for Pipe to have the given size limit.

func WithoutSizeLimit

func WithoutSizeLimit() Option

WithoutSizeLimit returns an Option for Pipe to have no size limit.

type Reader

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

Reader is a buf.Reader that reads content from a pipe.

func (*Reader) Interrupt

func (r *Reader) Interrupt()

Interrupt implements common.Interruptible.

func (*Reader) ReadMultiBuffer

func (r *Reader) ReadMultiBuffer() (buf.MultiBuffer, error)

ReadMultiBuffer implements buf.Reader.

func (*Reader) ReadMultiBufferTimeout

func (r *Reader) ReadMultiBufferTimeout(d time.Duration) (buf.MultiBuffer, error)

ReadMultiBufferTimeout reads content from a pipe within the given duration, or returns buf.ErrTimeout otherwise.

func (*Reader) Recover

func (r *Reader) Recover() (err error)

Recover catches an error set by ReturnAnError, if exists.

func (*Reader) ReturnAnError

func (r *Reader) ReturnAnError(err error)

ReturnAnError makes ReadMultiBuffer return an error, only once.

type Writer

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

Writer is a buf.Writer that writes data into a pipe.

func (*Writer) Close

func (w *Writer) Close() error

Close implements io.Closer. After the pipe is closed, writing to the pipe will return io.ErrClosedPipe, while reading will return io.EOF.

func (*Writer) Interrupt

func (w *Writer) Interrupt()

Interrupt implements common.Interruptible.

func (*Writer) WriteMultiBuffer

func (w *Writer) WriteMultiBuffer(mb buf.MultiBuffer) error

WriteMultiBuffer implements buf.Writer.

Jump to

Keyboard shortcuts

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