pub enum NormalizedProtocolError {
InvalidSchema(NormalizedSchemaError),
ComparatorMismatch {
expected: u32,
got: u32,
},
FpMismatch {
expected: u64,
got: u64,
},
EpochMismatch {
expected: u64,
got: u64,
},
Gap {
expected: u64,
got: u64,
},
}Expand description
A protocol violation the NormalizedSubscriber surfaces. All but a duplicate are
fatal — the only repair is a re-hydrate under a new epoch (§5.3).
Variants§
InvalidSchema(NormalizedSchemaError)
The hello’s table set is not a valid normalized wire schema. Validation happens
before fingerprinting so an attacker-controlled primary-key index can never reach
columns[pk] and panic.
ComparatorMismatch
The hello’s comparator-contract version differs — reconstruction would silently corrupt, so the subscription is refused (a code contract, not data).
FpMismatch
The advertised / batch fingerprint differs from the subscribed schema.
EpochMismatch
A batch from a different (usually stale) subscription epoch.
Gap
A seq beyond the next expected ⇒ a batch was lost. Re-hydrate. (expected is the
next seq the receiver wanted.)
Trait Implementations§
Source§impl Clone for NormalizedProtocolError
impl Clone for NormalizedProtocolError
Source§fn clone(&self) -> NormalizedProtocolError
fn clone(&self) -> NormalizedProtocolError
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NormalizedProtocolError
impl Debug for NormalizedProtocolError
Source§impl PartialEq for NormalizedProtocolError
impl PartialEq for NormalizedProtocolError
impl Copy for NormalizedProtocolError
impl Eq for NormalizedProtocolError
impl StructuralPartialEq for NormalizedProtocolError
Auto Trait Implementations§
impl Freeze for NormalizedProtocolError
impl RefUnwindSafe for NormalizedProtocolError
impl Send for NormalizedProtocolError
impl Sync for NormalizedProtocolError
impl Unpin for NormalizedProtocolError
impl UnsafeUnpin for NormalizedProtocolError
impl UnwindSafe for NormalizedProtocolError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more