Class BackupRetentionPlan
What a retention would do, or did: the kept points, the compactions it runs first, then the packs it deletes.
public sealed record BackupRetentionPlan : IEquatable<BackupRetentionPlan>
- Inheritance
-
BackupRetentionPlan
- Implements
- Inherited Members
Constructors
BackupRetentionPlan(IReadOnlyList<uint>, IReadOnlyList<uint>, IReadOnlyList<uint>, IReadOnlyList<string>, uint, long, long, BackupRetentionBlock, string, string)
What a retention would do, or did: the kept points, the compactions it runs first, then the packs it deletes.
public BackupRetentionPlan(IReadOnlyList<uint> Kept, IReadOnlyList<uint> Removed, IReadOnlyList<uint> Compactions, IReadOnlyList<string> PackDeletions, uint CutoffId, long BytesBefore, long BytesAfterAtMost, BackupRetentionBlock Blocked, string BlockedReason, string Fingerprint)
Parameters
KeptIReadOnlyList<uint>The points kept, ascending.
RemovedIReadOnlyList<uint>The points whose packs are deleted (restorable or not), ascending.
CompactionsIReadOnlyList<uint>The points compacted before any delete, ascending.
PackDeletionsIReadOnlyList<string>The pack files deleted, in delete order (descending id: a crash part-way leaves every listed point restorable).
CutoffIduintThe oldest kept point (
K); 0 when nothing is kept.BytesBeforelongThe store's pack bytes now.
BytesAfterAtMostlongAn upper bound of the pack bytes once applied: the packs the kept points resolve through now (a compacted base holds each page of its chain once, so it is no larger than the packs it replaces plus its index).
BlockedBackupRetentionBlockThe limit it could not meet, or None.
BlockedReasonstringWhy, in one sentence;
nullwhen not blocked.FingerprintstringA CRC of the deletions and compactions: ApplyRetention(string, BackupRetentionPolicy, BackupRetentionPlan, BackupLifecycleOptions) refuses a plan that would now delete a pack the approved one did not list.
Properties
Blocked
The limit it could not meet, or None.
public BackupRetentionBlock Blocked { get; init; }
Property Value
BlockedReason
Why, in one sentence; null when not blocked.
public string BlockedReason { get; init; }
Property Value
BytesAfterAtMost
An upper bound of the pack bytes once applied: the packs the kept points resolve through now (a compacted base holds each page of its chain once, so it is no larger than the packs it replaces plus its index).
public long BytesAfterAtMost { get; init; }
Property Value
BytesBefore
The store's pack bytes now.
public long BytesBefore { get; init; }
Property Value
Compactions
The points compacted before any delete, ascending.
public IReadOnlyList<uint> Compactions { get; init; }
Property Value
CutoffId
The oldest kept point (K); 0 when nothing is kept.
public uint CutoffId { get; init; }
Property Value
Fingerprint
A CRC of the deletions and compactions: ApplyRetention(string, BackupRetentionPolicy, BackupRetentionPlan, BackupLifecycleOptions) refuses a plan that would now delete a pack the approved one did not list.
public string Fingerprint { get; init; }
Property Value
Kept
The points kept, ascending.
public IReadOnlyList<uint> Kept { get; init; }
Property Value
PackDeletions
The pack files deleted, in delete order (descending id: a crash part-way leaves every listed point restorable).
public IReadOnlyList<string> PackDeletions { get; init; }
Property Value
Removed
The points whose packs are deleted (restorable or not), ascending.
public IReadOnlyList<uint> Removed { get; init; }
Property Value
Methods
Deconstruct(out IReadOnlyList<uint>, out IReadOnlyList<uint>, out IReadOnlyList<uint>, out IReadOnlyList<string>, out uint, out long, out long, out BackupRetentionBlock, out string, out string)
public void Deconstruct(out IReadOnlyList<uint> Kept, out IReadOnlyList<uint> Removed, out IReadOnlyList<uint> Compactions, out IReadOnlyList<string> PackDeletions, out uint CutoffId, out long BytesBefore, out long BytesAfterAtMost, out BackupRetentionBlock Blocked, out string BlockedReason, out string Fingerprint)
Parameters
KeptIReadOnlyList<uint>RemovedIReadOnlyList<uint>CompactionsIReadOnlyList<uint>PackDeletionsIReadOnlyList<string>CutoffIduintBytesBeforelongBytesAfterAtMostlongBlockedBackupRetentionBlockBlockedReasonstringFingerprintstring
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
Equals(BackupRetentionPlan?)
public bool Equals(BackupRetentionPlan? other)
Parameters
otherBackupRetentionPlan
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(BackupRetentionPlan?, BackupRetentionPlan?)
public static bool operator ==(BackupRetentionPlan? left, BackupRetentionPlan? right)
Parameters
leftBackupRetentionPlanrightBackupRetentionPlan
Returns
operator !=(BackupRetentionPlan?, BackupRetentionPlan?)
public static bool operator !=(BackupRetentionPlan? left, BackupRetentionPlan? right)
Parameters
leftBackupRetentionPlanrightBackupRetentionPlan