コード例 #1
0
        public Zen <byte> Forward(Zen <Packet> packet, int i)
        {
            if (i == this.Rules.Length)
            {
                return(Byte(0)); // 0 is the null interface
            }

            var rule = this.Rules[i];

            return(If(
                       rule.Matches(packet.GetCurrentHeader()),
                       rule.Interface.PortNumber,
                       Forward(packet, i + 1)));
        }