mirror of
https://github.com/containers/podman.git
synced 2025-12-13 02:09:16 +08:00
vendor containers/image v1.4
This requires some additional changes to the dependencies since the progress-bar library has been changed to github.com/vbauerster/mpb. Please refer to the following link for the release notes: https://github.com/containers/image/releases/tag/v1.4 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
95
vendor/github.com/vbauerster/mpb/options.go
generated
vendored
Normal file
95
vendor/github.com/vbauerster/mpb/options.go
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
package mpb
|
||||
|
||||
import (
|
||||
"io"
|
||||
"sync"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/vbauerster/mpb/cwriter"
|
||||
)
|
||||
|
||||
// ProgressOption is a function option which changes the default behavior of
|
||||
// progress pool, if passed to mpb.New(...ProgressOption)
|
||||
type ProgressOption func(*pState)
|
||||
|
||||
// WithWaitGroup provides means to have a single joint point.
|
||||
// If *sync.WaitGroup is provided, you can safely call just p.Wait()
|
||||
// without calling Wait() on provided *sync.WaitGroup.
|
||||
// Makes sense when there are more than one bar to render.
|
||||
func WithWaitGroup(wg *sync.WaitGroup) ProgressOption {
|
||||
return func(s *pState) {
|
||||
s.uwg = wg
|
||||
}
|
||||
}
|
||||
|
||||
// WithWidth overrides default width 80
|
||||
func WithWidth(w int) ProgressOption {
|
||||
return func(s *pState) {
|
||||
if w >= 0 {
|
||||
s.width = w
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// WithFormat overrides default bar format "[=>-]"
|
||||
func WithFormat(format string) ProgressOption {
|
||||
return func(s *pState) {
|
||||
if utf8.RuneCountInString(format) == formatLen {
|
||||
s.format = format
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// WithRefreshRate overrides default 120ms refresh rate
|
||||
func WithRefreshRate(d time.Duration) ProgressOption {
|
||||
return func(s *pState) {
|
||||
if d < 10*time.Millisecond {
|
||||
return
|
||||
}
|
||||
s.rr = d
|
||||
}
|
||||
}
|
||||
|
||||
// WithManualRefresh disables internal auto refresh time.Ticker.
|
||||
// Refresh will occur upon receive value from provided ch.
|
||||
func WithManualRefresh(ch <-chan time.Time) ProgressOption {
|
||||
return func(s *pState) {
|
||||
s.manualRefreshCh = ch
|
||||
}
|
||||
}
|
||||
|
||||
// WithCancel provide your cancel channel,
|
||||
// which you plan to close at some point.
|
||||
func WithCancel(ch <-chan struct{}) ProgressOption {
|
||||
return func(s *pState) {
|
||||
s.cancel = ch
|
||||
}
|
||||
}
|
||||
|
||||
// WithShutdownNotifier provided chanel will be closed, after all bars have been rendered.
|
||||
func WithShutdownNotifier(ch chan struct{}) ProgressOption {
|
||||
return func(s *pState) {
|
||||
s.shutdownNotifier = ch
|
||||
}
|
||||
}
|
||||
|
||||
// WithOutput overrides default output os.Stdout
|
||||
func WithOutput(w io.Writer) ProgressOption {
|
||||
return func(s *pState) {
|
||||
if w == nil {
|
||||
return
|
||||
}
|
||||
s.cw = cwriter.New(w)
|
||||
}
|
||||
}
|
||||
|
||||
// WithDebugOutput sets debug output.
|
||||
func WithDebugOutput(w io.Writer) ProgressOption {
|
||||
return func(s *pState) {
|
||||
if w == nil {
|
||||
return
|
||||
}
|
||||
s.debugOut = w
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user