progress

package
v20.10.25+incompatible Latest Latest
Warning

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

Go to latest
Published: May 4, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Aux

func Aux(out Output, a interface{})

Aux sends auxiliary information over a progress interface, which will not be formatted for the UI. This is used for things such as push signing.

func Message

func Message(out Output, id, message string)

Message is a convenience function to write a progress message to the channel.

func Messagef

func Messagef(out Output, id, format string, a ...interface{})

Messagef is a convenience function to write a printf-formatted progress message to the channel.

func Update

func Update(out Output, id, action string)

Update is a convenience function to write a progress update to the channel.

func Updatef

func Updatef(out Output, id, format string, a ...interface{})

Updatef is a convenience function to write a printf-formatted progress update to the channel.

Types

type Output

type Output interface {
	WriteProgress(Progress) error
}

Output is an interface for writing progress information. It's like a writer for progress, but we don't call it Writer because that would be confusing next to ProgressReader (also, because it doesn't implement the io.Writer interface).

func ChanOutput

func ChanOutput(progressChan chan<- Progress) Output

ChanOutput returns an Output that writes progress updates to the supplied channel.

func DiscardOutput

func DiscardOutput() Output

DiscardOutput returns an Output that discards progress

type Progress

type Progress struct {
	ID string

	// Progress contains a Message or...
	Message string

	// ...progress of an action
	Action  string
	Current int64
	Total   int64

	// If true, don't show xB/yB
	HideCounts bool
	// If not empty, use units instead of bytes for counts
	Units string

	// Aux contains extra information not presented to the user, such as
	// digests for push signing.
	Aux interface{}

	LastUpdate bool
}

Progress represents the progress of a transfer.

type Reader

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

Reader is a Reader with progress bar.

func NewProgressReader

func NewProgressReader(in io.ReadCloser, out Output, size int64, id, action string) *Reader

NewProgressReader creates a new ProgressReader.

func (*Reader) Close

func (p *Reader) Close() error

Close closes the progress reader and its underlying reader.

func (*Reader) Read

func (p *Reader) Read(buf []byte) (n int, err error)

Jump to

Keyboard shortcuts

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