sync

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package sync provides a one-way sync engine that mirrors a pCloud directory tree to a local directory. Only files that are newer on pCloud are downloaded. Files deleted from pCloud are removed locally.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RunResult

type RunResult struct {
	Total      int // total files found on pCloud
	Downloaded int // files downloaded (new or updated)
	Deleted    int // local files removed (no longer on pCloud)
	Warnings   int // files that failed with a non-fatal error
}

RunResult summarises the outcome of a single sync pass.

type Syncer

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

Syncer mirrors a pCloud directory tree to a local directory.

func New

func New(api *pcloud.API, cloudRoot, localRoot string, log io.Writer) *Syncer

New creates a Syncer. cloudRoot is the pCloud source path; localRoot is the destination directory on disk. Progress messages are written to log.

func (*Syncer) Run

func (s *Syncer) Run(ctx context.Context) (RunResult, error)

Run performs one sync pass and returns when it is finished.

func (*Syncer) Watch

func (s *Syncer) Watch(ctx context.Context, interval time.Duration) error

Watch calls Run repeatedly, sleeping interval between passes, until ctx is cancelled. It returns nil on clean shutdown.

Jump to

Keyboard shortcuts

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