...

Package bgreader

import "github.com/jackc/pgx/v5/pgconn/internal/bgreader"
Overview
Index

Overview ▾

Package bgreader provides a io.Reader that can optionally buffer reads in the background.

Constants

const (
    StatusStopped = iota
    StatusRunning
    StatusStopping
)

type BGReader

BGReader is an io.Reader that can optionally buffer reads in the background. It is safe for concurrent use.

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

func New

func New(r io.Reader) *BGReader

func (*BGReader) Read

func (r *BGReader) Read(p []byte) (int, error)

Read implements the io.Reader interface.

func (*BGReader) Start

func (r *BGReader) Start()

Start starts the backgrounder reader. If the background reader is already running this is a no-op. The background reader will stop automatically when the underlying reader returns an error.

func (*BGReader) Status

func (r *BGReader) Status() int32

Status returns the current status of the background reader.

func (*BGReader) Stop

func (r *BGReader) Stop()

Stop tells the background reader to stop after the in progress Read returns. It is safe to call Stop when the background reader is not running.