pub enum ReadRangeViolation {
ObjectMismatch,
PropertyMismatch,
ArrayIndexMismatch,
MissingFirstSequenceNumber,
ZeroFirstSequenceNumber,
UnexpectedFirstSequenceNumber,
MoreItemsPastEnd,
ItemCountExceedsRequest,
}Expand description
A rule a ReadRange acknowledgement can break against the request it answers (Clause 15.8).
Variants§
ObjectMismatch
The object identifier isn’t the one the request named.
PropertyMismatch
The property identifier isn’t the one the request named.
ArrayIndexMismatch
The array index isn’t the one the request named, or is present when the request had none, or the reverse.
MissingFirstSequenceNumber
A nonempty answer to a By-Sequence or By-Time read without the sequence number of its first item (Clause 15.8.1.2.7).
ZeroFirstSequenceNumber
A nonempty answer to a By-Sequence or By-Time read that numbers its first item 0, a number logs never assign: they count from 1 and skip 0 when they wrap. Some devices do number the record after the wrap 0.
UnexpectedFirstSequenceNumber
A first sequence number in the answer to a read that was by position or had no range, which carries none (Clause 15.8.1.2.7).
MoreItemsPastEnd
MORE_ITEMS together with the flag that says the page reached the end a ranged read moves toward: LAST_ITEM for a forward read, FIRST_ITEM for a backward one. Items left out of a full page lie beyond that end, so the two contradict each other (Clause 15.8.2). A read with no range may keep either end, so for it only all three flags together break the rule.
ItemCountExceedsRequest
More items than the request’s count asked for.