class Unicast_Rewrite include Bud state do channel :chn, [:id] => [:@addr, :val] channel :chn_ack, [:@rce_sender, :id] range :chn_approx, [:id] table :rbuf, [:id] => [:addr, :val] table :sbuf, [:id] => [:addr, :val] end bloom do (chn < sbuf.notin(chn_approx, 0 => :id).~) (sbuf < -(sbuf * chn_approx).lefts(0 => :id)) chn_ack <~ chn {|c| [c.source_addr, c.id]} chn_approx <= (chn_ack.payloads) rbuf <= (chn) end end