TupleBag is an unordered collection of tuples. It is the basis of Tuplespace.
Removes tuple from the TupleBag.
Source: show
# File lib/rinda/tuplespace.rb, line 342 def delete(tuple) key = bin_key(tuple) bin = @hash[key] return nil unless bin bin.delete(tuple) @hash.delete(key) if bin.empty? tuple end
Delete tuples which dead tuples from the TupleBag, returning the deleted tuples.
Source: show
# File lib/rinda/tuplespace.rb, line 382 def delete_unless_alive deleted = [] @hash.each do |key, bin| bin.delete_if do |tuple| if tuple.alive? false else deleted.push(tuple) true end end end deleted end
Finds a live tuple that matches template.
Source: show
# File lib/rinda/tuplespace.rb, line 362 def find(template) bin_for_find(template).find do |tuple| tuple.alive? && template.match(tuple) end end
Finds all live tuples that match template.
Source: show
# File lib/rinda/tuplespace.rb, line 353 def find_all(template) bin_for_find(template).find_all do |tuple| tuple.alive? && template.match(tuple) end end
Finds all tuples in the TupleBag which when
treated as templates, match tuple and are alive.
Source: show
# File lib/rinda/tuplespace.rb, line 372 def find_all_template(tuple) @enum.find_all do |template| template.alive? && template.match(tuple) end end