package progress

import "github.com/moby/buildkit/util/progress"

Index

Functions

func OneOff

func OneOff(ctx context.Context, id string) func(err error) error

func WithProgress

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

Types

type Controller

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(error))

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

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

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

Source Files

multireader.go multiwriter.go progress.go

Directories

PathSynopsis
util/progress/controller
util/progress/logs
util/progress/progressui
util/progress/progresswriter
Version
v0.15.0-rc1
Published
Jul 3, 2024
Platform
js/wasm
Imports
7 packages
Last checked
2 minutes ago

Tools for package owners.