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 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 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) 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(source, destination string) 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 S3XMLError ¶
func UnWrapBool ¶
func UrlJoinNoEscape ¶
func UrlLastSegment ¶
Types ¶
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 ¶
type Transport struct { *http.Transport *net.Dialer Connections map[string]int // contains filtered or unexported fields }
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) }
Source Files ¶
- anyerror.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.