Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReplicationConfigFromConfig ¶
func ReplicationConfigFromConfig(in *config.Replication) (*pdu.ReplicationConfig, error)
Types ¶
type ConflictResolution ¶
type ConflictResolution struct {
InitialReplication InitialReplicationAutoResolution
}
func ConflictResolutionFromConfig ¶
func ConflictResolutionFromConfig(in *config.ConflictResolution) (*ConflictResolution, error)
func (*ConflictResolution) Validate ¶
func (c *ConflictResolution) Validate() error
type Endpoint ¶
type Endpoint interface { // Does not include placeholder filesystems ListFilesystems(ctx context.Context) (*pdu.ListFilesystemRes, error) ListFilesystemVersions(ctx context.Context, req *pdu.ListFilesystemVersionsReq) (*pdu.ListFilesystemVersionsRes, error) DestroySnapshots(ctx context.Context, req *pdu.DestroySnapshotsReq) (*pdu.DestroySnapshotsRes, error) WaitForConnectivity(ctx context.Context) error }
Endpoint represents one side of the replication.
An endpoint is either in Sender or Receiver mode, represented by the correspondingly named interfaces defined in this package.
type Filesystem ¶
type Filesystem struct { Path string // compat // contains filtered or unexported fields }
func (*Filesystem) EqualToPreviousAttempt ¶
func (f *Filesystem) EqualToPreviousAttempt(other driver.FS) bool
func (*Filesystem) ReportInfo ¶
func (f *Filesystem) ReportInfo() *report.FilesystemInfo
type InitialReplicationAutoResolution ¶
type InitialReplicationAutoResolution uint32
const ( InitialReplicationAutoResolutionMostRecent InitialReplicationAutoResolution = 1 << iota InitialReplicationAutoResolutionAll InitialReplicationAutoResolutionFail )
func InitialReplicationAutoResolutionFromConfig ¶
func InitialReplicationAutoResolutionFromConfig(in string) (InitialReplicationAutoResolution, error)
func InitialReplicationAutoResolutionString ¶
func InitialReplicationAutoResolutionString(s string) (InitialReplicationAutoResolution, error)
InitialReplicationAutoResolutionString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.
func InitialReplicationAutoResolutionValues ¶
func InitialReplicationAutoResolutionValues() []InitialReplicationAutoResolution
InitialReplicationAutoResolutionValues returns all values of the enum
func (InitialReplicationAutoResolution) IsAInitialReplicationAutoResolution ¶
func (i InitialReplicationAutoResolution) IsAInitialReplicationAutoResolution() bool
IsAInitialReplicationAutoResolution returns "true" if the value is listed in the enum definition. "false" otherwise
func (InitialReplicationAutoResolution) String ¶
func (i InitialReplicationAutoResolution) String() string
type Planner ¶
type Planner struct {
// contains filtered or unexported fields
}
func NewPlanner ¶
func NewPlanner(secsPerState *prometheus.HistogramVec, bytesReplicated *prometheus.CounterVec, sender Sender, receiver Receiver, policy PlannerPolicy) *Planner
caller must ensure policy.Validate() == nil
type PlannerPolicy ¶
type PlannerPolicy struct { ConflictResolution *ConflictResolution `validate:"required"` ReplicationConfig *pdu.ReplicationConfig `validate:"required"` SizeEstimationConcurrency int `validate:"gte=1"` }
func (PlannerPolicy) Validate ¶
func (p PlannerPolicy) Validate() error
type Receiver ¶
type Receiver interface { Endpoint // Receive sends r and sendStream (the latter containing a ZFS send stream) // to the parent github.com/dsh2dsh/zrepl/replication.Endpoint. Receive(ctx context.Context, req *pdu.ReceiveReq, receive io.ReadCloser) error }
type Sender ¶
type Sender interface { Endpoint // If a non-nil io.ReadCloser is returned, it is guaranteed to be closed before // any next call to the parent github.com/dsh2dsh/zrepl/replication.Endpoint. // If the send request is for dry run the io.ReadCloser will be nil Send(ctx context.Context, r *pdu.SendReq) (*pdu.SendRes, io.ReadCloser, error) SendDry(ctx context.Context, r *pdu.SendDryReq) (*pdu.SendDryRes, error) SendCompleted(ctx context.Context, r *pdu.SendCompletedReq) error ReplicationCursor(ctx context.Context, req *pdu.ReplicationCursorReq) (*pdu.ReplicationCursorRes, error) }
type Step ¶
type Step struct {
// contains filtered or unexported fields
}
func (*Step) ReportInfo ¶
func (*Step) TargetDate ¶
func (*Step) WithByteCounter ¶ added in v0.9.1
func (s *Step) WithByteCounter(r bytecounter.ReadCloser) *Step
Source Files
¶
Click to show internal directories.
Click to hide internal directories.