sftp

package
v0.5.0-test.7 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2025 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

View Source
const (
	DefaultDialTimeout = 30 * time.Second
)

Default settings for replica client.

View Source
const ReplicaClientType = "sftp"

ReplicaClientType is the client type for this package.

Variables

This section is empty.

Functions

This section is empty.

Types

type ReplicaClient

type ReplicaClient struct {

	// SFTP connection info
	Host        string
	User        string
	Password    string
	Path        string
	KeyPath     string
	DialTimeout time.Duration

	// ConcurrentWrites enables concurrent writes for better performance.
	// Note: This makes resuming failed transfers unsafe.
	ConcurrentWrites bool
	// contains filtered or unexported fields
}

ReplicaClient is a client for writing LTX files over SFTP.

func NewReplicaClient

func NewReplicaClient() *ReplicaClient

NewReplicaClient returns a new instance of ReplicaClient.

func (*ReplicaClient) Cleanup

func (c *ReplicaClient) Cleanup(ctx context.Context) (err error)

Cleanup deletes path & directories after empty.

func (*ReplicaClient) DeleteAll added in v0.5.0

func (c *ReplicaClient) DeleteAll(ctx context.Context) (err error)

DeleteAll deletes all LTX files.

func (*ReplicaClient) DeleteLTXFiles added in v0.5.0

func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.FileInfo) (err error)

DeleteLTXFiles deletes LTX files with at the given positions.

func (*ReplicaClient) Init

func (c *ReplicaClient) Init(ctx context.Context) (_ *sftp.Client, err error)

Init initializes the connection to SFTP. No-op if already initialized.

func (*ReplicaClient) LTXFiles added in v0.5.0

func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID) (_ ltx.FileIterator, err error)

LTXFiles returns an iterator over all available LTX files for a level.

func (*ReplicaClient) OpenLTXFile added in v0.5.0

func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, offset, size int64) (_ io.ReadCloser, err error)

OpenLTXFile returns a reader for an LTX file. Returns os.ErrNotExist if no matching position is found.

func (*ReplicaClient) Type

func (c *ReplicaClient) Type() string

Type returns "sftp" as the client type.

func (*ReplicaClient) WriteLTXFile added in v0.5.0

func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, rd io.Reader) (info *ltx.FileInfo, err error)

WriteLTXFile writes a LTX file from rd into a remote file.

Jump to

Keyboard shortcuts

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