Documentation ¶
Index ¶
- func FakeActiveSideDirectMethodInvocationClientIdentity(jobId endpoint.JobID) string
- type ActiveSide
- func (j *ActiveSide) Name() string
- func (j *ActiveSide) OwnedDatasetSubtreeRoot() (rfs *zfs.DatasetPath, ok bool)
- func (j *ActiveSide) RegisterMetrics(registerer prometheus.Registerer)
- func (j *ActiveSide) Run(ctx context.Context, cron *cron.Cron)
- func (j *ActiveSide) Running() (d time.Duration, ok bool)
- func (j *ActiveSide) SenderConfig() *endpoint.SenderConfig
- func (j *ActiveSide) Shutdown()
- func (j *ActiveSide) Status() *Status
- type ActiveSideState
- type ActiveSideStatus
- func (self *ActiveSideStatus) Cron() string
- func (self *ActiveSideStatus) Error() string
- func (self *ActiveSideStatus) Progress() (expected, completed uint64)
- func (self *ActiveSideStatus) Running() (d time.Duration, ok bool)
- func (self *ActiveSideStatus) SleepingUntil() time.Time
- func (self *ActiveSideStatus) Steps() (expected, step int)
- type Job
- type JobStatus
- type Logger
- type PassiveSide
- func (j *PassiveSide) Name() string
- func (j *PassiveSide) OwnedDatasetSubtreeRoot() (rfs *zfs.DatasetPath, ok bool)
- func (*PassiveSide) RegisterMetrics(registerer prometheus.Registerer)
- func (j *PassiveSide) Run(ctx context.Context, cron *cron.Cron)
- func (j *PassiveSide) SenderConfig() *endpoint.SenderConfig
- func (j *PassiveSide) Shutdown()
- func (s *PassiveSide) Status() *Status
- type PassiveStatus
- func (self *PassiveStatus) Cron() string
- func (self *PassiveStatus) Error() string
- func (self *PassiveStatus) Progress() (uint64, uint64)
- func (self *PassiveStatus) Running() (time.Duration, bool)
- func (self *PassiveStatus) SleepingUntil() time.Time
- func (self *PassiveStatus) Steps() (expected, step int)
- type ReceivingJobConfig
- type SendingJobConfig
- type SnapJob
- func (j *SnapJob) Name() string
- func (j *SnapJob) OwnedDatasetSubtreeRoot() (rfs *zfs.DatasetPath, ok bool)
- func (j *SnapJob) RegisterMetrics(registerer prometheus.Registerer)
- func (j *SnapJob) Run(ctx context.Context, cron *cron.Cron)
- func (j *SnapJob) SenderConfig() *endpoint.SenderConfig
- func (j *SnapJob) Shutdown()
- func (j *SnapJob) Status() *Status
- func (j *SnapJob) Type() Type
- type SnapJobStatus
- func (self *SnapJobStatus) Cron() string
- func (self *SnapJobStatus) Error() string
- func (self *SnapJobStatus) Progress() (uint64, uint64)
- func (self *SnapJobStatus) Running() (d time.Duration, ok bool)
- func (self *SnapJobStatus) SleepingUntil() time.Time
- func (self *SnapJobStatus) Steps() (expected, step int)
- type Status
- func (s *Status) CanSignal() string
- func (s *Status) Cron() string
- func (s *Status) Error() string
- func (s *Status) Internal() bool
- func (s *Status) MarshalJSON() ([]byte, error)
- func (s *Status) Progress() (uint64, uint64)
- func (s *Status) Running() (time.Duration, bool)
- func (s *Status) SleepingUntil() time.Time
- func (s *Status) Steps() (expected, step int)
- func (s *Status) UnmarshalJSON(in []byte) (err error)
- type Type
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FakeActiveSideDirectMethodInvocationClientIdentity ¶ added in v0.7.4
The active side of a replication uses one end (sender or receiver) directly by method invocation, without going through a transport that provides a client identity. However, in order to avoid the need to distinguish between direct-method-invocating clients and RPC client, we use an invalid client identity as a sentinel value.
Types ¶
type ActiveSide ¶
type ActiveSide struct {
// contains filtered or unexported fields
}
func (*ActiveSide) Name ¶
func (j *ActiveSide) Name() string
func (*ActiveSide) OwnedDatasetSubtreeRoot ¶
func (j *ActiveSide) OwnedDatasetSubtreeRoot() (rfs *zfs.DatasetPath, ok bool)
func (*ActiveSide) RegisterMetrics ¶
func (j *ActiveSide) RegisterMetrics(registerer prometheus.Registerer)
func (*ActiveSide) Run ¶
func (j *ActiveSide) Run(ctx context.Context, cron *cron.Cron)
func (*ActiveSide) Running ¶ added in v0.8.1
func (j *ActiveSide) Running() (d time.Duration, ok bool)
func (*ActiveSide) SenderConfig ¶ added in v0.7.4
func (j *ActiveSide) SenderConfig() *endpoint.SenderConfig
func (*ActiveSide) Shutdown ¶ added in v0.7.10
func (j *ActiveSide) Shutdown()
func (*ActiveSide) Status ¶
func (j *ActiveSide) Status() *Status
type ActiveSideState ¶
type ActiveSideState int
const ( ActiveSideReplicating ActiveSideState = 1 << iota ActiveSidePruneSender ActiveSidePruneReceiver ActiveSideDone // also errors )
func ActiveSideStateString ¶
func ActiveSideStateString(s string) (ActiveSideState, error)
ActiveSideStateString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.
func ActiveSideStateValues ¶
func ActiveSideStateValues() []ActiveSideState
ActiveSideStateValues returns all values of the enum
func (ActiveSideState) IsAActiveSideState ¶
func (i ActiveSideState) IsAActiveSideState() bool
IsAActiveSideState returns "true" if the value is listed in the enum definition. "false" otherwise
func (ActiveSideState) String ¶
func (i ActiveSideState) String() string
type ActiveSideStatus ¶
type ActiveSideStatus struct { CronSpec string SleepUntil time.Time StartedAt time.Time Replication *report.Report PruningSender, PruningReceiver *pruner.Report Snapshotting *snapper.Report // contains filtered or unexported fields }
func (*ActiveSideStatus) Cron ¶ added in v0.8.0
func (self *ActiveSideStatus) Cron() string
func (*ActiveSideStatus) Error ¶ added in v0.7.4
func (self *ActiveSideStatus) Error() string
func (*ActiveSideStatus) Progress ¶ added in v0.8.1
func (self *ActiveSideStatus) Progress() (expected, completed uint64)
func (*ActiveSideStatus) Running ¶ added in v0.7.4
func (self *ActiveSideStatus) Running() (d time.Duration, ok bool)
func (*ActiveSideStatus) SleepingUntil ¶ added in v0.8.0
func (self *ActiveSideStatus) SleepingUntil() time.Time
func (*ActiveSideStatus) Steps ¶ added in v0.8.1
func (self *ActiveSideStatus) Steps() (expected, step int)
type Job ¶
type Job interface { Name() string Run(ctx context.Context, cron *cron.Cron) Status() *Status RegisterMetrics(registerer prometheus.Registerer) // Jobs that return a subtree of the dataset hierarchy // must return the root of that subtree as rfs and ok = true OwnedDatasetSubtreeRoot() (rfs *zfs.DatasetPath, ok bool) SenderConfig() *endpoint.SenderConfig Shutdown() }
func JobsFromConfig ¶
type PassiveSide ¶
type PassiveSide struct {
// contains filtered or unexported fields
}
func (*PassiveSide) Name ¶
func (j *PassiveSide) Name() string
func (*PassiveSide) OwnedDatasetSubtreeRoot ¶
func (j *PassiveSide) OwnedDatasetSubtreeRoot() (rfs *zfs.DatasetPath, ok bool)
func (*PassiveSide) RegisterMetrics ¶
func (*PassiveSide) RegisterMetrics(registerer prometheus.Registerer)
func (*PassiveSide) Run ¶
func (j *PassiveSide) Run(ctx context.Context, cron *cron.Cron)
func (*PassiveSide) SenderConfig ¶ added in v0.7.4
func (j *PassiveSide) SenderConfig() *endpoint.SenderConfig
func (*PassiveSide) Shutdown ¶ added in v0.7.10
func (j *PassiveSide) Shutdown()
func (*PassiveSide) Status ¶
func (s *PassiveSide) Status() *Status
type PassiveStatus ¶
func (*PassiveStatus) Cron ¶ added in v0.8.0
func (self *PassiveStatus) Cron() string
func (*PassiveStatus) Error ¶ added in v0.7.4
func (self *PassiveStatus) Error() string
func (*PassiveStatus) Progress ¶ added in v0.8.1
func (self *PassiveStatus) Progress() (uint64, uint64)
func (*PassiveStatus) Running ¶ added in v0.7.4
func (self *PassiveStatus) Running() (time.Duration, bool)
func (*PassiveStatus) SleepingUntil ¶ added in v0.8.0
func (self *PassiveStatus) SleepingUntil() time.Time
func (*PassiveStatus) Steps ¶ added in v0.8.1
func (self *PassiveStatus) Steps() (expected, step int)
type ReceivingJobConfig ¶ added in v0.7.4
type ReceivingJobConfig interface { GetRootFS() string GetAppendClientIdentity() bool GetRecvOptions() *config.RecvOptions }
type SendingJobConfig ¶ added in v0.7.4
type SendingJobConfig interface { GetFilesystems() config.FilesystemsFilter GetSendOptions() *config.SendOptions // must not be nil }
type SnapJob ¶
type SnapJob struct {
// contains filtered or unexported fields
}
func (*SnapJob) OwnedDatasetSubtreeRoot ¶
func (j *SnapJob) OwnedDatasetSubtreeRoot() (rfs *zfs.DatasetPath, ok bool)
func (*SnapJob) RegisterMetrics ¶
func (j *SnapJob) RegisterMetrics(registerer prometheus.Registerer)
func (*SnapJob) SenderConfig ¶ added in v0.7.4
func (j *SnapJob) SenderConfig() *endpoint.SenderConfig
type SnapJobStatus ¶
func (*SnapJobStatus) Cron ¶ added in v0.8.0
func (self *SnapJobStatus) Cron() string
func (*SnapJobStatus) Error ¶ added in v0.7.4
func (self *SnapJobStatus) Error() string
func (*SnapJobStatus) Progress ¶ added in v0.8.1
func (self *SnapJobStatus) Progress() (uint64, uint64)
func (*SnapJobStatus) Running ¶ added in v0.7.4
func (self *SnapJobStatus) Running() (d time.Duration, ok bool)
func (*SnapJobStatus) SleepingUntil ¶ added in v0.8.0
func (self *SnapJobStatus) SleepingUntil() time.Time
func (*SnapJobStatus) Steps ¶ added in v0.8.1
func (self *SnapJobStatus) Steps() (expected, step int)
type Status ¶
func (*Status) MarshalJSON ¶
func (*Status) SleepingUntil ¶ added in v0.8.0
func (*Status) UnmarshalJSON ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.