require 'rubygems' require 'bud' class BroadcastEpochAll include Bud state do table :node, [:addr, :epoch] table :log, [:id] => [:epoch, :val] channel :chn, [:@addr, :id] => [:epoch, :val] end bloom do chn <~ (node * log).pairs(:epoch => :epoch) {|n,l| [n.addr] + l} log <= chn.payloads end end