status

package
v2.0.118-beta Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2022 License: MIT Imports: 13 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Null        = Status{"", -1}
	Indexed     = Status{"indexed", 0}
	Retrying    = Status{"retrying", 0}
	Queued      = Status{"queued", 1}
	Downloading = Status{"downloading", 2}
	Uploading   = Status{"uploading", 2}
	Skipped     = Status{"skipped", 3}
	Ignored     = Status{"ignored", 3}
	Complete    = Status{"complete", 4}
	Canceled    = Status{"canceled", 5}
	Errored     = Status{"errored", 5}

	Included = []Status{Indexed, Queued, Retrying, Downloading, Uploading, Complete, Canceled, Errored}
	Excluded = []Status{Skipped, Ignored}
	Valid    = []Status{Indexed, Queued, Retrying, Downloading, Uploading, Complete}
	Invalid  = []Status{Null, Canceled, Errored, Skipped, Ignored}
	Running  = []Status{Downloading, Uploading}
	Ended    = []Status{Complete, Canceled, Errored}
)

Functions

func WaitTellFinished

func WaitTellFinished[T any](job *Job, onStatusComplete chan T, beforeCallingFinish func())

Types

type EventsReporter

type EventsReporter map[Status][]Reporter

type File

type File struct {
	filesSDK.File
	*Job
	Status
	TransferBytes int64
	LocalPath     string
	RemotePath    string
	Id            string
	LastByte      time.Time
	Err           error
	Mutex         *sync.RWMutex
}

func ToStatusFile

func ToStatusFile(f IFile) File

type IFile

type IFile interface {
	SetStatus(Status, error)
	TransferBytes() int64
	File() filesSDK.File
	Id() string
	LocalPath() string
	RemotePath() string
	Status() Status
	LastByte() time.Time
	Err() error
	Job() *Job
}

type Job

type Job struct {
	Id string
	*timer.Timer
	Statuses  []IFile
	Direction direction.Direction

	LocalPath  string
	RemotePath string
	Sync       bool
	CodeStart  func()
	context.CancelFunc
	Params interface{}
	Client interface{}
	EventsReporter
	directory.Type
	*manager.Manager
	RetryPolicy string
	*ignore.GitIgnore
	Started     *Signal
	Finished    *Signal
	Canceled    *Signal
	Scanning    *Signal
	EndScanning *Signal
	// contains filtered or unexported fields
}

func (*Job) Add

func (r *Job) Add(report IFile)

func (*Job) All

func (r *Job) All(t ...Status) bool

func (*Job) Any

func (r *Job) Any(t ...Status) (b bool)

func (*Job) Cancel

func (r *Job) Cancel()

func (*Job) ClearCalled

func (r *Job) ClearCalled()

func (*Job) ClearStatuses

func (r *Job) ClearStatuses() Job

func (*Job) Count

func (r *Job) Count(t ...Status) int

func (*Job) ETA

func (r *Job) ETA(t ...Status) time.Duration

func (*Job) ElapsedTime

func (r *Job) ElapsedTime() time.Duration

func (*Job) EndScan

func (r *Job) EndScan()

func (*Job) Files

func (r *Job) Files() []filesSDK.File

func (*Job) Find

func (r *Job) Find(t Status) (IFile, bool)

func (*Job) Finish

func (r *Job) Finish()

func (*Job) Idle

func (r *Job) Idle(t ...Status) bool

func (Job) Init

func (r Job) Init() *Job

func (*Job) Job

func (r *Job) Job() *Job

func (*Job) Percentage

func (r *Job) Percentage(t ...Status) int

func (*Job) RegisterFileEvent

func (r *Job) RegisterFileEvent(callback Reporter, events ...Status)

func (*Job) RemainingBytes

func (r *Job) RemainingBytes(t ...Status) int64

func (*Job) Reset

func (r *Job) Reset()

func (*Job) Scan

func (r *Job) Scan()

func (*Job) SetEventsReporter

func (r *Job) SetEventsReporter(e EventsReporter)

func (*Job) SetManager

func (r *Job) SetManager(m *manager.Manager)

func (*Job) Start

func (r *Job) Start(ignoreCodeStart ...bool)

func (*Job) StatusFromError

func (r *Job) StatusFromError(s IFile, err error)

func (*Job) Sub

func (r *Job) Sub(t ...Status) *Job

func (*Job) SubscribeAll

func (r *Job) SubscribeAll() Subscriptions

func (*Job) TotalBytes

func (r *Job) TotalBytes(t ...Status) int64

func (*Job) TransferBytes

func (r *Job) TransferBytes(t ...Status) int64

func (*Job) TransferRate

func (r *Job) TransferRate(t ...Status) int64

func (*Job) UpdateStatus

func (r *Job) UpdateStatus(status Status, file IFile, err error)

func (*Job) Wait

func (r *Job) Wait()

func (*Job) WithContext

func (r *Job) WithContext(ctx context.Context) context.Context

type Log

type Log struct {
	Path   string
	Action string
}

type Reporter

type Reporter func(File)

type Signal

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

func (*Signal) Called

func (s *Signal) Called() bool

func (*Signal) Clear

func (s *Signal) Clear()

func (*Signal) Subscribe

func (s *Signal) Subscribe() chan time.Time

func (*Signal) TrySubscribe

func (s *Signal) TrySubscribe(try func(chan time.Time))

func (*Signal) Wait

func (s *Signal) Wait()

func (*Signal) When

func (s *Signal) When() time.Time

type Status

type Status struct {
	Name  string
	Value int
}

func SetStatus

func SetStatus(old Status, new Status, err error) (Status, bool)

func (Status) Any

func (e Status) Any(statuses ...Status) bool

func (Status) Has

func (e Status) Has(statuses ...Status) bool

func (Status) Is

func (e Status) Is(statuses ...Status) bool

func (Status) IsNot

func (e Status) IsNot(statuses ...Status) bool

func (Status) String

func (e Status) String() string

type Subscriptions

type Subscriptions struct {
	Started     chan time.Time
	Finished    chan time.Time
	Canceled    chan time.Time
	Scanning    chan time.Time
	EndScanning chan time.Time
}

type UnwrappedError

type UnwrappedError struct {
	OriginalError error
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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