namespace ZB.MOM.WW.LocalDb.Replication;
///
/// Thrown by a live sync session when the oplog horizon has moved ABOVE the position that session
/// is streaming from: a cap prune deleted deltas it had not yet sent, so every later delta it could
/// ship would land on the far side of a hole the peer will never receive.
///
///
/// This is not a transport failure and not a data error — it is the session discovering that its own
/// incremental position has become unsound. Nothing can repair it in-session (the deleted rows are
/// gone), so the session tears itself down; the same prune set needs_snapshot, which makes the
/// reconnect handshake serve a snapshot instead of deltas. Catching this and continuing would
/// reintroduce exactly the silent divergence it exists to stop.
///
public sealed class LocalDbOplogGapException : Exception
{
/// Creates the exception with a message describing the gap.
public LocalDbOplogGapException(string message) : base(message) { }
/// Creates the exception with a message and the underlying cause.
public LocalDbOplogGapException(string message, Exception innerException)
: base(message, innerException) { }
}