pub fn discard_exact(avail: usize, len: usize) -> Result { let mut avail = avail; let mut len = len; let mut rounds = 0usize; while len > 0 { let consume_len = if avail < len { avail } else { len }; avail -= consume_len; len -= consume_len; rounds += 1; } Ok(rounds) }