Class FileOutboxRecovery
What FileOutboxStore had to repair when it opened its journal.
public sealed record FileOutboxRecovery : IEquatable<FileOutboxRecovery>
- Inheritance
-
FileOutboxRecovery
- Implements
- Inherited Members
Constructors
FileOutboxRecovery(int, long, string?)
Creates a recovery report.
public FileOutboxRecovery(int unreadableRecords, long discardedTailBytes, string? corruptJournalCopyPath)
Parameters
unreadableRecordsintThe number of journal lines that were skipped; see UnreadableRecords.
discardedTailByteslongThe length of the incomplete last line; see DiscardedTailBytes.
corruptJournalCopyPathstringThe path of a copy of the damaged journal, if one was made.
Properties
CorruptJournalCopyPath
When UnreadableRecords is not 0, the path of a copy of the journal as it was found, for inspection. The store itself continues with a rewritten journal.
public string? CorruptJournalCopyPath { get; init; }
Property Value
DiscardedTailBytes
The length of an incomplete last line that was cut off: a write interrupted by a crash or power loss. Its change was never acknowledged, so nothing that was reported as stored is lost.
public long DiscardedTailBytes { get; init; }
Property Value
UnreadableRecords
Complete journal lines that failed their checksum or could not be read, and were skipped. Each one is a change that had been acknowledged, so a Statement may be missing (a skipped add), sent again (a skipped removal, harmless because ids are fixed) or still pending (a skipped dead letter). This only happens when the file was damaged on disk, not after a crash.
public int UnreadableRecords { get; init; }