// --------------------------------------------------
// local
// --------------------------------------------------
use cratePartial;
/// Result of a single [`DecodePartial::decode_partial`] attempt
///
/// Two states only:
///
/// * [`Packet::Ready`] - the partial finalised cleanly into `T`. Input
/// cursor is advanced past the consumed bytes.
/// * [`Packet::NeedMore`] - the decode loop paused because more input
/// is needed. The partial holds every KLV field that landed so far.
/// Feed more bytes into a [`crate::Decoder`] (via
/// [`crate::Decoder::feed`] + [`crate::Decoder::next`]), or
/// call [`crate::traits::ResumePartial::resume_partial`] directly,
/// once more bytes are available. Malformed input surfaces as
/// `Err(&'static str)` on the outer `Result` from
/// [`crate::traits::DecodePartial::decode_partial`].