FPS 0.0.3

Flow processing system (under construction).
use n::packet::*;

#[millefeuille]
pub fn extract(packet: Packet) -> Packet {
    let mut packet = packet;
    let len = match packet.context.get_usize_released("phy::headroom_usize") {
        Some(x) => x,
        _ => 0,
    };
    packet.context.set_usize("phy::headroom_usize", len);
    packet.context.set_string("phy::protocol", "802.3");
    let (mut packet, field) = packet.right_packet(len);
    packet.context.set_field("phy::headroom", field);
    packet
}

#[millefeuille]
pub fn fill(packet: Packet) -> Packet {
    let mut packet = packet;
    let len;
    {
        len = packet.len();
    }
    packet.context.set_usize("phy::headroom_usize", len);
    let (mut packet,field) = packet.left_packet(len);
    packet.context.set_field("phy::headroom", field);
    packet
}