Documentation ¶
Index ¶
- Constants
- Variables
- func AnyError(callback func(error), functions ...func() error)
- func Bool(bool bool) *bool
- func BuildPath(resourcePath string, values interface{}) (string, error)
- func BuildPathSpecTest(t *testing.T, mutex *sync.Mutex, tt PathSpecTest, sourceFs ReadWriteFs, ...)
- func ChangeDir(fs ReadWriteFs, relativePath string, fullPath string, mutex *sync.Mutex) (func(), bool, error)
- func CheckRequired(iStruct interface{}) error
- func CloseBody(res *http.Response)
- func CopyAt(dst io.WriterAt, writeOff int64, src io.Reader) (written int64, err error)
- func CreateError(i interface{}, name string) error
- func DefaultRetryableHttp(logger Logger, client ...*http.Client) *retryablehttp.Client
- func DefaultString(a, b string) string
- func ExpandTilde(path string) string
- func GetConnectionStatsFromClient(client *http.Client) (map[string]int, bool)
- func Int64(i int64) *int64
- func Interface() interface{}
- func IsHTML(res *http.Response) bool
- func IsJSON(res *http.Response) bool
- func IsNonOkStatus(res *http.Response) bool
- func IsOkStatus(res *http.Response) bool
- func IsStatus(status int) func(res *http.Response) error
- func IsXML(res *http.Response) bool
- func JSONEmptyValue(v reflect.Type) string
- func NewReader(ctx context.Context, r io.ReadCloser) io.ReadCloser
- func NewReaderAt(ctx context.Context, r io.ReaderAt) io.ReaderAt
- func NonJSONError(res *http.Response) error
- func NonOkError(res *http.Response) error
- func NonOkErrorCustom(callbacks ...func(error) error) func(res *http.Response) error
- func NormalizeForComparison(path string) string
- func NotStatus(status int) func(res *http.Response) error
- func PathEscape(path string) (string, error)
- func ResponseErrors(res *http.Response, errorFunc ...func(res *http.Response) error) error
- func S3ErrorIsRequestHasExpired(err error) bool
- func S3ErrorIsRequestTimeout(err error) bool
- func S3XMLError(res *http.Response) error
- func String(string string) *string
- func Time(t time.Time) *time.Time
- func UnWrapBool(b *bool) bool
- func UrlJoinNoEscape(paths ...string) string
- func UrlLastSegment(path string) (rest string, lastSegment string)
- type AtomicValue
- type Cmd
- type ConcurrencyManager
- type ConcurrencyManagerWithSubWorker
- type Conn
- type ConstrainedWorkGroup
- func (cw *ConstrainedWorkGroup) Done()
- func (cw *ConstrainedWorkGroup) Max() int
- func (cw *ConstrainedWorkGroup) NewSubWorker() ConcurrencyManager
- func (cw *ConstrainedWorkGroup) RemainingCapacity() int
- func (cw *ConstrainedWorkGroup) RunningCount() int
- func (cw *ConstrainedWorkGroup) Wait()
- func (cw *ConstrainedWorkGroup) WaitAllDone()
- func (cw *ConstrainedWorkGroup) WaitForADone() bool
- func (cw *ConstrainedWorkGroup) WaitWithContext(ctx context.Context) bool
- type DirEntry
- type ErrorWithOriginalResponse
- type ExeCmd
- type ExportValues
- type FSWithContext
- type FileWithContext
- type IsDir
- type IterChan
- type KeyedMutex
- type LocalFileSystem
- func (w LocalFileSystem) Chdir(dir string) error
- func (w LocalFileSystem) Chtimes(name string, atime time.Time, mtime time.Time) error
- func (w LocalFileSystem) Create(path string) (io.WriteCloser, error)
- func (w LocalFileSystem) Getwd() (string, error)
- func (w LocalFileSystem) MkdirAll(path string, mode fs.FileMode) error
- func (w LocalFileSystem) MkdirTemp(dir, pattern string) (string, error)
- func (w LocalFileSystem) Open(path string) (fs.File, error)
- func (w LocalFileSystem) PathJoin(paths ...string) string
- func (w LocalFileSystem) PathSeparator() string
- func (w LocalFileSystem) RelPath(parent, child string) (string, error)
- func (w LocalFileSystem) Remove(path string) error
- func (w LocalFileSystem) RemoveAll(path string) error
- func (w LocalFileSystem) SplitPath(path string) (string, string)
- func (w LocalFileSystem) TempDir() string
- type Logger
- type Map
- type Meter
- type MeterItem
- type NullLogger
- type Params
- type Path
- func (p Path) ConvertEmptyToRoot() Path
- func (p Path) EndingSlash() bool
- func (p Path) Join(str ...string) Path
- func (p Path) NormalizePathSystemForAPI() Path
- func (p Path) PathSeparator() string
- func (p Path) Pop() string
- func (p Path) PruneEndingSlash() Path
- func (p Path) PruneStartingSlash() Path
- func (p Path) String() string
- func (p Path) SwitchPathSeparator(separator string) Path
- type PathSpecArgs
- type PathSpecEntry
- type PathSpecTest
- type ProgressWriter
- type Queue
- type ReadWriteFs
- type ReaderAtCloser
- type Resource
- type ResourceOut
- type ResponseError
- type S3Error
- type Signal
- type StatefulDirectory
- type SubWorker
- type Transport
- type UnmarshalJSON
- type Values
- type Walk
- type WithContextReader
- type WithContextReaderAt
- type WritableFs
- type WriterAndAt
Constants ¶
View Source
const (
BasePart = int64(1024 * 1024 * 5)
)
View Source
const MinMeterResolution time.Duration = time.Millisecond * 100
MinMeterResolution MinResolution is the minimum time resolution to measure bit rate.
View Source
const (
URLPathSeparator = "/"
)
Variables ¶
View Source
var DefaultClient *http.Client
View Source
var ErrInvalidMeterParameter = errors.New("meter invalid parameter")
ErrInvalidMeterParameter is the error thrown when a parameter is invalid.
View Source
var PartSizes = partSizes()
PartSizes return 10k parts that add up to 4.9 TB
Functions ¶
func BuildPathSpecTest ¶
func BuildPathSpecTest(t *testing.T, mutex *sync.Mutex, tt PathSpecTest, sourceFs ReadWriteFs, destinationFs ReadWriteFs, cmdBuilder func(PathSpecArgs) Cmd)
func CheckRequired ¶
func CheckRequired(iStruct interface{}) error
func CreateError ¶
func DefaultRetryableHttp ¶
func DefaultString ¶
func ExpandTilde ¶
func IsNonOkStatus ¶
func IsOkStatus ¶
func JSONEmptyValue ¶
func NewReader ¶
func NewReader(ctx context.Context, r io.ReadCloser) io.ReadCloser
NewReader gets a context-aware io.Reader.
func NewReaderAt ¶
NewReader gets a context-aware io.Reader.
func NonJSONError ¶
func NonOkError ¶
func NonOkErrorCustom ¶
func NormalizeForComparison ¶
func PathEscape ¶
func ResponseErrors ¶
func S3ErrorIsRequestHasExpired ¶ added in v3.0.4
func S3ErrorIsRequestTimeout ¶ added in v3.0.4
func S3XMLError ¶
func UnWrapBool ¶
func UrlJoinNoEscape ¶
func UrlLastSegment ¶
Types ¶
type AtomicValue ¶ added in v3.2.13
type AtomicValue[T comparable] struct { sync.RWMutex // contains filtered or unexported fields }
func (*AtomicValue[T]) CompareAndUpdate ¶ added in v3.2.13
func (av *AtomicValue[T]) CompareAndUpdate(cmpValue T, updateFunc func() T)
func (*AtomicValue[T]) Load ¶ added in v3.2.13
func (av *AtomicValue[T]) Load() T
func (*AtomicValue[T]) Store ¶ added in v3.2.13
func (av *AtomicValue[T]) Store(val T)
type ConcurrencyManager ¶
type ConcurrencyManager interface { // Wait until a slot is available for the new goroutine. Wait() // Done Mark a goroutine as finished Done() // WaitAllDone Wait for all goroutines are done WaitAllDone() // RunningCount Returns the number of goroutines which are running RunningCount() int // WaitWithContext Acquires a semaphore to allow a new goroutine to run or returns false if the context is done WaitWithContext(ctx context.Context) bool // WaitForADone Blocks until at least one goroutine has completed. WaitForADone() bool }
type ConcurrencyManagerWithSubWorker ¶
type ConcurrencyManagerWithSubWorker interface { ConcurrencyManager NewSubWorker() ConcurrencyManager }
type ConstrainedWorkGroup ¶
type ConstrainedWorkGroup struct {
// contains filtered or unexported fields
}
func NewConstrainedWorkGroup ¶
func NewConstrainedWorkGroup(maxConcurrency int) *ConstrainedWorkGroup
func (*ConstrainedWorkGroup) Done ¶
func (cw *ConstrainedWorkGroup) Done()
func (*ConstrainedWorkGroup) Max ¶
func (cw *ConstrainedWorkGroup) Max() int
func (*ConstrainedWorkGroup) NewSubWorker ¶
func (cw *ConstrainedWorkGroup) NewSubWorker() ConcurrencyManager
func (*ConstrainedWorkGroup) RemainingCapacity ¶
func (cw *ConstrainedWorkGroup) RemainingCapacity() int
func (*ConstrainedWorkGroup) RunningCount ¶
func (cw *ConstrainedWorkGroup) RunningCount() int
func (*ConstrainedWorkGroup) Wait ¶
func (cw *ConstrainedWorkGroup) Wait()
func (*ConstrainedWorkGroup) WaitAllDone ¶
func (cw *ConstrainedWorkGroup) WaitAllDone()
func (*ConstrainedWorkGroup) WaitForADone ¶
func (cw *ConstrainedWorkGroup) WaitForADone() bool
func (*ConstrainedWorkGroup) WaitWithContext ¶
func (cw *ConstrainedWorkGroup) WaitWithContext(ctx context.Context) bool
type DirEntry ¶
func DirEntryWalkFile ¶
type ErrorWithOriginalResponse ¶
type ErrorWithOriginalResponse struct {
// contains filtered or unexported fields
}
func (ErrorWithOriginalResponse) OriginalResponse ¶
func (u ErrorWithOriginalResponse) OriginalResponse() interface{}
func (ErrorWithOriginalResponse) ProcessError ¶
func (u ErrorWithOriginalResponse) ProcessError(data []byte, err error, t interface{}) error
type ExportValues ¶
type IterChan ¶
type KeyedMutex ¶
type KeyedMutex struct {
// contains filtered or unexported fields
}
func NewKeyedMutex ¶
func NewKeyedMutex() KeyedMutex
func (KeyedMutex) Lock ¶
func (s KeyedMutex) Lock(key interface{})
func (KeyedMutex) Unlock ¶
func (s KeyedMutex) Unlock(key interface{})
type LocalFileSystem ¶
type LocalFileSystem struct{}
func (LocalFileSystem) Chdir ¶
func (w LocalFileSystem) Chdir(dir string) error
func (LocalFileSystem) Create ¶
func (w LocalFileSystem) Create(path string) (io.WriteCloser, error)
func (LocalFileSystem) Getwd ¶
func (w LocalFileSystem) Getwd() (string, error)
func (LocalFileSystem) MkdirAll ¶
func (w LocalFileSystem) MkdirAll(path string, mode fs.FileMode) error
func (LocalFileSystem) MkdirTemp ¶
func (w LocalFileSystem) MkdirTemp(dir, pattern string) (string, error)
func (LocalFileSystem) PathJoin ¶
func (w LocalFileSystem) PathJoin(paths ...string) string
func (LocalFileSystem) PathSeparator ¶
func (w LocalFileSystem) PathSeparator() string
func (LocalFileSystem) RelPath ¶
func (w LocalFileSystem) RelPath(parent, child string) (string, error)
func (LocalFileSystem) Remove ¶
func (w LocalFileSystem) Remove(path string) error
func (LocalFileSystem) RemoveAll ¶
func (w LocalFileSystem) RemoveAll(path string) error
func (LocalFileSystem) TempDir ¶
func (w LocalFileSystem) TempDir() string
type Meter ¶
type Meter struct {
// contains filtered or unexported fields
}
Meter measures the latest data transfer amount.
func NewMeter ¶
NewMeter creates a meter with specified resolution and sample duration. sample must be an integral multiple of Resolution
type MeterItem ¶
type MeterItem struct {
// contains filtered or unexported fields
}
MeterItem is an element of linked list for the meter.
type NullLogger ¶
type NullLogger struct{}
func (NullLogger) Printf ¶
func (n NullLogger) Printf(_ string, _ ...interface{})
type Path ¶
func NewUrlPath ¶
func (Path) ConvertEmptyToRoot ¶
func (Path) EndingSlash ¶
func (Path) NormalizePathSystemForAPI ¶
func (Path) PathSeparator ¶
func (Path) PruneEndingSlash ¶
func (Path) PruneStartingSlash ¶
func (Path) SwitchPathSeparator ¶
type PathSpecArgs ¶
type PathSpecEntry ¶
type PathSpecTest ¶
type PathSpecTest struct { Name string Args PathSpecArgs Dest []PathSpecEntry Src []PathSpecEntry }
func PathSpec ¶
func PathSpec(srcPathSeparator string, destPathSeparator string) []PathSpecTest
type ProgressWriter ¶
type ProgressWriter struct { WriterAndAt ProgressWatcher func(int64) }
func (ProgressWriter) Close ¶
func (w ProgressWriter) Close() error
type ReadWriteFs ¶
type ReadWriteFs interface { WritableFs fs.FS }
type ReaderAtCloser ¶
type ReaderAtCloser interface { io.ReaderAt io.ReadCloser }
type Resource ¶
type Resource struct { Path string Params interface{} Method string Entity UnmarshalJSON }
func (Resource) Out ¶
func (r Resource) Out() (ResourceOut, error)
type ResourceOut ¶
type ResponseError ¶
type ResponseError struct { StatusCode int // contains filtered or unexported fields }
func (ResponseError) Error ¶
func (r ResponseError) Error() string
type S3Error ¶
type StatefulDirectory ¶
type SubWorker ¶
type SubWorker struct {
// contains filtered or unexported fields
}
func (*SubWorker) RunningCount ¶
func (*SubWorker) WaitAllDone ¶
func (sw *SubWorker) WaitAllDone()
func (*SubWorker) WaitForADone ¶
WaitForADone Blocks until at least one goroutine has completed.
type Transport ¶
func DefaultPooledTransport ¶ added in v3.0.3
func DefaultPooledTransport() *Transport
func (*Transport) DialContext ¶
func (*Transport) GetConnectionStats ¶
type UnmarshalJSON ¶
type Walk ¶
type WithContextReader ¶
type WithContextReaderAt ¶
type WritableFs ¶
type WritableFs interface { MkdirAll(string, fs.FileMode) error MkdirTemp(dir, pattern string) (string, error) TempDir() string Create(string) (io.WriteCloser, error) RemoveAll(string) error Remove(string) error PathSeparator() string PathJoin(...string) string RelPath(parent, child string) (string, error) SplitPath(path string) (string, string) Chtimes(name string, atime time.Time, mtime time.Time) error }
Source Files ¶
- anyerror.go
- atomicvalue.go
- concurrencymanager.go
- connection-stats.go
- constrainedwaitgroup.go
- copyat.go
- default-string.go
- errorwithoriginalresponse.go
- expandtilde.go
- http-client.go
- interface.go
- isdir.go
- iterchan.go
- keyedmutex.go
- localfilesystem.go
- map.go
- meter.go
- normalizeforcomparison.go
- params.go
- partsize.go
- path.go
- pathspec.go
- pointers.go
- progresswriter.go
- query.go
- queue.go
- readerctx.go
- required.go
- responseerrors.go
- s3-error.go
- signal.go
- string.go
- urljoinnoexcape.go
- walk.go
Click to show internal directories.
Click to hide internal directories.