Documentation
¶
Index ¶
- Constants
- type ReplicaClient
- func (c *ReplicaClient) DeleteAll(ctx context.Context) error
- func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.FileInfo) error
- func (c *ReplicaClient) Init(ctx context.Context) (err error)
- func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID, useMetadata bool) (ltx.FileIterator, error)
- func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, offset, size int64) (io.ReadCloser, error)
- func (c *ReplicaClient) Type() string
- func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, rd io.Reader) (info *ltx.FileInfo, err error)
Constants ¶
const MetadataKeyTimestamp = "litestream-timestamp"
MetadataKeyTimestamp is the metadata key for storing LTX file timestamps in GCS.
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 ¶
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.