sftp

package
v0.3.9 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

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
	// contains filtered or unexported fields
}

ReplicaClient is a client for writing snapshots & WAL segments to disk.

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 & generations directories after empty.

func (*ReplicaClient) DeleteGeneration

func (c *ReplicaClient) DeleteGeneration(ctx context.Context, generation string) (err error)

DeleteGeneration deletes all snapshots & WAL segments within a generation.

func (*ReplicaClient) DeleteSnapshot

func (c *ReplicaClient) DeleteSnapshot(ctx context.Context, generation string, index int) (err error)

DeleteSnapshot deletes a snapshot with the given generation & index.

func (*ReplicaClient) DeleteWALSegments

func (c *ReplicaClient) DeleteWALSegments(ctx context.Context, a []litestream.Pos) (err error)

DeleteWALSegments deletes WAL segments with at the given positions.

func (*ReplicaClient) Generations

func (c *ReplicaClient) Generations(ctx context.Context) (_ []string, err error)

Generations returns a list of available generation names.

func (*ReplicaClient) Init

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

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

func (*ReplicaClient) SnapshotReader

func (c *ReplicaClient) SnapshotReader(ctx context.Context, generation string, index int) (_ io.ReadCloser, err error)

SnapshotReader returns a reader for snapshot data at the given generation/index.

func (*ReplicaClient) Snapshots

func (c *ReplicaClient) Snapshots(ctx context.Context, generation string) (_ litestream.SnapshotIterator, err error)

Snapshots returns an iterator over all available snapshots for a generation.

func (*ReplicaClient) Type

func (c *ReplicaClient) Type() string

Type returns "gcs" as the client type.

func (*ReplicaClient) WALSegmentReader

func (c *ReplicaClient) WALSegmentReader(ctx context.Context, pos litestream.Pos) (_ io.ReadCloser, err error)

WALSegmentReader returns a reader for a section of WAL data at the given index. Returns os.ErrNotExist if no matching index/offset is found.

func (*ReplicaClient) WALSegments

func (c *ReplicaClient) WALSegments(ctx context.Context, generation string) (_ litestream.WALSegmentIterator, err error)

WALSegments returns an iterator over all available WAL files for a generation.

func (*ReplicaClient) WriteSnapshot

func (c *ReplicaClient) WriteSnapshot(ctx context.Context, generation string, index int, rd io.Reader) (info litestream.SnapshotInfo, err error)

WriteSnapshot writes LZ4 compressed data from rd to the object storage.

func (*ReplicaClient) WriteWALSegment

func (c *ReplicaClient) WriteWALSegment(ctx context.Context, pos litestream.Pos, rd io.Reader) (info litestream.WALSegmentInfo, err error)

WriteWALSegment writes LZ4 compressed data from rd into a file on disk.

Jump to

Keyboard shortcuts

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