Add Google Cloud Storage replica
This commit is contained in:
48
replica_client.go
Normal file
48
replica_client.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package litestream
|
||||
|
||||
import (
|
||||
"context"
|
||||
"io"
|
||||
)
|
||||
|
||||
// ReplicaClient represents client to connect to a Replica.
|
||||
type ReplicaClient interface {
|
||||
// Returns the type of client.
|
||||
Type() string
|
||||
|
||||
// Returns a list of available generations.
|
||||
Generations(ctx context.Context) ([]string, error)
|
||||
|
||||
// Deletes all snapshots & WAL segments within a generation.
|
||||
DeleteGeneration(ctx context.Context, generation string) error
|
||||
|
||||
// Returns an iterator of all snapshots within a generation on the replica.
|
||||
Snapshots(ctx context.Context, generation string) (SnapshotIterator, error)
|
||||
|
||||
// Writes LZ4 compressed snapshot data to the replica at a given index
|
||||
// within a generation. Returns metadata for the snapshot.
|
||||
WriteSnapshot(ctx context.Context, generation string, index int, r io.Reader) (SnapshotInfo, error)
|
||||
|
||||
// Deletes a snapshot with the given generation & index.
|
||||
DeleteSnapshot(ctx context.Context, generation string, index int) error
|
||||
|
||||
// Returns a reader that contains LZ4 compressed snapshot data for a
|
||||
// given index within a generation. Returns an os.ErrNotFound error if
|
||||
// the snapshot does not exist.
|
||||
SnapshotReader(ctx context.Context, generation string, index int) (io.ReadCloser, error)
|
||||
|
||||
// Returns an iterator of all WAL segments within a generation on the replica.
|
||||
WALSegments(ctx context.Context, generation string) (WALSegmentIterator, error)
|
||||
|
||||
// Writes an LZ4 compressed WAL segment at a given position.
|
||||
// Returns metadata for the written segment.
|
||||
WriteWALSegment(ctx context.Context, pos Pos, r io.Reader) (WALSegmentInfo, error)
|
||||
|
||||
// Deletes one or more WAL segments at the given positions.
|
||||
DeleteWALSegments(ctx context.Context, a []Pos) error
|
||||
|
||||
// Returns a reader that contains an LZ4 compressed WAL segment at a given
|
||||
// index/offset within a generation. Returns an os.ErrNotFound error if the
|
||||
// WAL segment does not exist.
|
||||
WALSegmentReader(ctx context.Context, pos Pos) (io.ReadCloser, error)
|
||||
}
|
||||
Reference in New Issue
Block a user