Sha256: 6b41778c2967ff790ea147b89fb661e562537856ff30a47eda5b96ccf9445de3
Contents?: true
Size: 790 Bytes
Versions: 1
Compression:
Stored size: 790 Bytes
Contents
module Pregel class Vertex attr_reader :id attr_accessor :value, :messages def initialize(id, value, *outedges) @id = id @value = value @outedges = outedges @messages = [] @active = true @superstep = 0 end def edges block_given? ? @outedges.each {|e| yield e} : @outedges end def deliver_to_all_neighbors(msg) edges.each {|e| deliver(e, msg)} end def deliver(to, msg) PostOffice.instance.deliver(to, msg) end def step @superstep += 1 compute end def halt; @active = false; end def active!; @active = true; end def active?; @active; end def superstep; @superstep; end def neighbors; @outedges; end def compute; end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pregel-0.0.1 | lib/pregel/vertex.rb |