Whether the message is reassembled: the fountain decoder's done.
The UR once done, else undefined. The message is reassembled and
decoded when first read after completion; that outcome, the UR or the
error, is kept and returned or thrown again, as the decoder does not
change once done.
Fraction of fragments decoded (1 once done).
Feed a part. Returns whether it added information: false for a
repeated index set and once done.
In the reference's order: InvalidScheme (no ur:,
an upper-case scheme included), InvalidType (the first component),
UnexpectedType when the type differs from the first part's, then
Decoder for what ur::decode and the fountain decoder reject: "No
type specified" (no slash after the type), "Invalid indices" (a header
that is not two u16s), the bytewords failure ("invalid word",
"invalid checksum", …), "Can't decode single-part UR as multi-part" (no
header, once its bytewords decoded), the part codec's messages,
"expected non-empty part" and "part is inconsistent with previous ones".
InvalidParameter for a non-string.
Forget every part received.
Reassembles a UR from part strings in any order, as the reference's
MultipartDecoderoverur::Decoder::receivedoes.Parts are case-sensitive: the reference's
receivenever lower-cases (onlyUR::from_ur_stringdoes), so lower-case a QR payload beforeadd. Every string is checked in full, before and after completion: the scheme, the type against the first part's, theseqNum-seqLenheader, the bytewords and the part CBOR. The header is otherwise informational: the fountain fields come from the part's CBOR.donefollows the fountain decoder, andresultreassembles and decodes the message when first read after completion.