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) LTXFilePath(level int, minTXID, maxTXID ltx.TXID) string
- func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID, useMetadata bool) (ltx.FileIterator, error)
- func (c *ReplicaClient) LTXLevelDir(level int) string
- func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, offset, size int64) (io.ReadCloser, error)
- func (c *ReplicaClient) Path() string
- 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 ReplicaClientType = "file"
ReplicaClientType is the client type for this package.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ReplicaClient ¶
type ReplicaClient struct {
Replica *litestream.Replica
// contains filtered or unexported fields
}
ReplicaClient is a client for writing LTX files to disk.
func NewReplicaClient ¶
func NewReplicaClient(path string) *ReplicaClient
NewReplicaClient returns a new instance of ReplicaClient.
func (*ReplicaClient) DeleteAll ¶ added in v0.5.0
func (c *ReplicaClient) DeleteAll(ctx context.Context) error
DeleteAll deletes all LTX files.
func (*ReplicaClient) DeleteLTXFiles ¶ added in v0.5.0
DeleteLTXFiles deletes LTX files.
func (*ReplicaClient) LTXFilePath ¶ added in v0.5.0
func (c *ReplicaClient) LTXFilePath(level int, minTXID, maxTXID ltx.TXID) string
LTXFilePath returns the path to an LTX file.
func (*ReplicaClient) LTXFiles ¶ added in v0.5.0
func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID, useMetadata bool) (ltx.FileIterator, error)
LTXFiles returns an iterator over all LTX files on the replica for the given level. The useMetadata parameter is ignored for file backend as ModTime is always available from readdir.
func (*ReplicaClient) LTXLevelDir ¶ added in v0.5.0
func (c *ReplicaClient) LTXLevelDir(level int) string
LTXLevelDir returns the path to a given 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, error)
OpenLTXFile returns a reader for an LTX file at the given position. Returns os.ErrNotExist if no matching index/offset is found.
func (*ReplicaClient) Path ¶
func (c *ReplicaClient) Path() string
Path returns the destination path to replicate the database to.
func (*ReplicaClient) Type ¶
func (c *ReplicaClient) Type() string
Type returns "file" 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 an LTX file to the replica. Extracts timestamp from LTX header and sets it as the file's ModTime to preserve original creation time.