pub fn rearrange<'a>(
    header_packets: Vec<Vec<u8>>,
    keys: Vec<Keys>,
    range_start: usize,
    range_span: Option<usize>,
    sender_pubkey: &Option<Vec<u8>>
) -> Result<(Vec<Vec<u8>>, impl Iterator<Item = bool> + 'a), Crypt4GHError>
Expand description

Gets the packages to rearrange.

Rearranges the edit list in accordance to the range. It returns the data packets along with an oracle that decides if the next packet should be kept (starting by the first).