On 17 Sep 2005, at 18:03, Mark Volkmann wrote:
> Documentation on Rinda seems hard to come by, at least in English.
> Can anyone verify what the move and notify methods in
> Rinda::TupleSpace do?
> My best guess is that move moves a tuple from one TupleSpace to
> another
> and notify notifies you when a tuple matching a given pattern appears
> in a given TupleSpace.
See Rinda::TupleSpaceProxy for an example of how #move is used.
#notify works this way, (from a doc patch submitted to Masatoshi Seki):
##
# A NotifyTemplateEntry is returned by TupleSpace#notify and is
notified of
# TupleSpace changes. You may receive either your subscribed
event or the
# 'close' event when iterating over notifications.
#
# See TupleSpace#notify_event for valid notification types.
#
# == Example
#
# ts = Rinda::TupleSpace.new
# observer = ts.notify 'write', [nil]
#
# Thread.start do
# observer.each { |t| p t }
# end
#
# 3.times { |i| ts.write [i] }
#
# Outputs:
#
# ['write', [0]]
# ['write', [1]]
# ['write', [2]]
class NotifyTemplateEntry < TemplateEntry
and
##
# Registers for notifications of +event+. Returns a
NotifyTemplateEntry.
# See NotifyTemplateEntry for examples of how to listen for
notifications.
#
# +event+ can be:
# 'write':: A tuple was added
# 'take':: A tuple was taken or moved
# 'delete':: A tuple was lost after being overwritten or expiring
#
# The TupleSpace will also notify you of the 'close' event when the
# NotifyTemplateEntry has expired.
def notify(event, tuple, sec=nil)
--
Eric Hodel -
-
http://segment7.net
FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04