progress

package
Version: v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2021 License: Apache-2.0 Imports: 6 Imported by: 238

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithProgress

func WithProgress(ctx context.Context, pw Writer) context.Context

Types

type Controller added in v0.8.0

type Controller interface {
	Start(context.Context) (context.Context, func(error))
	Status(id string, action string) func()
}

type MultiReader

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

func NewMultiReader

func NewMultiReader(pr Reader) *MultiReader

func (*MultiReader) Reader

func (mr *MultiReader) Reader(ctx context.Context) Reader

type MultiWriter

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

func NewMultiWriter

func NewMultiWriter(opts ...WriterOption) *MultiWriter

func (*MultiWriter) Add

func (ps *MultiWriter) Add(pw Writer)

func (*MultiWriter) Close

func (ps *MultiWriter) Close() error

func (*MultiWriter) Delete

func (ps *MultiWriter) Delete(pw Writer)

func (*MultiWriter) Write

func (ps *MultiWriter) Write(id string, v interface{}) error

func (*MultiWriter) WriteRawProgress

func (ps *MultiWriter) WriteRawProgress(p *Progress) error

type Progress

type Progress struct {
	ID        string
	Timestamp time.Time
	Sys       interface{}
	// contains filtered or unexported fields
}

func (*Progress) Meta

func (p *Progress) Meta(key string) (interface{}, bool)

type Reader

type Reader interface {
	Read(context.Context) ([]*Progress, error)
}

func NewContext

func NewContext(ctx context.Context) (Reader, context.Context, func())

NewContext returns a new context and a progress reader that captures all progress items writtern to this context. Last returned parameter is a closer function to signal that no new writes will happen to this context.

type Status

type Status struct {
	Action    string
	Current   int
	Total     int
	Started   *time.Time
	Completed *time.Time
}

type Writer

type Writer interface {
	Write(id string, value interface{}) error
	Close() error
}

func NewFromContext added in v0.9.0

func NewFromContext(ctx context.Context, opts ...WriterOption) (Writer, bool, context.Context)

NewFromContext creates a new Writer based on a Writer previously stored in the Context and returns a new Context with the new Writer stored. It is the callers responsibility to Close the returned Writer to avoid resource leaks.

type WriterFactory added in v0.9.0

type WriterFactory func(ctx context.Context) (Writer, bool, context.Context)

WriterFactory will generate a new progress Writer and return a new Context with the new Writer stored. It is the callers responsibility to Close the returned Writer to avoid resource leaks.

func FromContext

func FromContext(ctx context.Context, opts ...WriterOption) WriterFactory

FromContext returns a WriterFactory to generate new progress writers based on a Writer previously stored in the Context.

type WriterOption

type WriterOption func(Writer)

func WithMetadata

func WithMetadata(key string, val interface{}) WriterOption

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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