notify(event, pattern, sec = nil) -> Rinda::NotifyTemplateEntry
[permalink][rdoc]event で指定した種類のイベントの監視を開始します。
イベントを生じさせたタプルがpattern にマッチした場合にのみ報告されます。
イベントが生じた場合、このメソッドの返り値の Rinda::NotifyTemplateEntry を経由し、 Rinda::NotifyTemplateEntry#each を用いて報告を受け取ります。
sec で監視期間を秒数で指定できます。 nil で無限に監視し続けます。
event として以下の3つを指定できます。
これで指定したイベントに加えて、有効期限切れによって監視が終了した場合には 'close' イベントが報告されます。
pattern で指定できるパターンについては rinda/rinda/タプルのパターンについて を参照してください。
require 'rinda/tuplespace' tuplespace = Rinda::TupleSpace.new observer = tuplespace.notify("write", ["xyz", nil, nil]) Therad.new do observer.each{|event, tuple| p event, tuple } end tuplespace.write(["xyz", 0, 1]) tuplespace.write(["pqr", 0, 1]) tuplespace.write(["xyz", 4, 2])