pub fn sequence_set(input: &[u8]) -> IResult<&[u8], SequenceSet>
Expand description

sequence-set = (seq-number / seq-range) ["," sequence-set]

Note: See errata id: 261 TODO: Why the errata?

Set of seq-number values, regardless of order. Servers MAY coalesce overlaps and/or execute the sequence in any order.

Example: a message sequence number set of 2,4:7,9,12:* for a mailbox with 15 messages is equivalent to 2,4,5,6,7,9,12,13,14,15

Example: a message sequence number set of *:4,5:7 for a mailbox with 10 messages is equivalent to 10,9,8,7,6,5,4,5,6,7 and MAY be reordered and overlap coalesced to be 4,5,6,7,8,9,10.

Simplified:

sequence-set = (seq-number / seq-range) *("," (seq-number / seq-range))