gs

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const MetadataKeyTimestamp = "litestream-timestamp"

MetadataKeyTimestamp is the metadata key for storing LTX file timestamps in GCS.

View Source
const ReplicaClientType = "gs"

ReplicaClientType is the client type for this package.

Variables

This section is empty.

Functions

This section is empty.

Types

type ReplicaClient

type ReplicaClient struct {

	// GS bucket information
	Bucket string
	Path   string
	// contains filtered or unexported fields
}

ReplicaClient is a client for writing LTX files to Google Cloud Storage.

func NewReplicaClient

func NewReplicaClient() *ReplicaClient

NewReplicaClient returns a new instance of ReplicaClient.

func (*ReplicaClient) DeleteAll

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

DeleteAll deletes all LTX files.

func (*ReplicaClient) DeleteLTXFiles

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

DeleteLTXFiles deletes a set of LTX files.

func (*ReplicaClient) Init

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

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

func (*ReplicaClient) LTXFiles

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

LTXFiles returns an iterator over all available LTX files for a level. GCS always uses accurate timestamps from metadata since they're included in LIST operations at zero cost. The useMetadata parameter is ignored.

func (*ReplicaClient) OpenLTXFile

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

OpenLTXFile returns a reader for a given LTX file. Returns os.ErrNotExist if no matching index/offset is found.

func (*ReplicaClient) Type

func (c *ReplicaClient) Type() string

Type returns "gs" as the client type.

func (*ReplicaClient) WriteLTXFile

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

WriteLTXFile writes an LTX file from rd to a remote path.

Jump to

Keyboard shortcuts

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