るりまサーチ

最速Rubyリファレンスマニュアル検索!
44件ヒット [1-44件を表示] (0.022秒)

別のキーワード

  1. rinda/rinda new
  2. rinda/rinda rinda
  3. rinda/rinda renew
  4. rinda/rinda read

ライブラリ

キーワード

検索結果

rinda/rinda (38030.0)

Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。

...セス間の通信トポロジーを単純化し、問題を簡単化します。
タプルスペースに対しては、タプルを書き込む(write)、取り出す(take)、
タプルの要素を覗き見る(read)
という操作のみが利用できます。可能な操作を限定し、定型...
...e 'rinda/rinda'

def do_it(v)
puts "do_it(#{v})"
v + v
end

uri = ARGV.shift || raise("usage: #{$0} <server_uri>")

DRb.start_service
ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))

while true
r = ts.take(['sum', nil, nil])
v = do_it(r[2])
ts.write([...
...end


# rindac.rb
require 'drb/drb'
require 'rinda/rinda'

uri = ARGV.shift || raise("usage: #{$0} <server_uri>")

DRb.start_service
ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))

(1..10).each do |n|
ts.write(['sum', DRb.uri, n])
end

(1..10).each do |n|...

Rinda::TupleSpaceProxy#write(tuple, sec = nil) -> Rinda::TupleEntry (26113.0)

tuple をタプルスペースに加えます。 tuple を管理するための Rinda::TupleEntry オブジェクトを返します。

...pleEntry オブジェクトを返します。

内部的にはリモートオブジェクトの Rinda::TupleSpace#write にフォワードされます。
詳細は Rinda::TupleSpace#write を参照してください。

@param tuple 追加する tuple (配列かHash)
@param sec 有効期限(秒数)...

Rinda::InvalidHashTupleKey (8016.0)

Rinda::TupleSpace#write などで不正なハッシュテーブル(キーが 文字列でないもの)をタプルスペースに書き込もうとすると発生すると発生する 例外です。

...Rinda::TupleSpace#write などで不正なハッシュテーブル(キーが
文字列でないもの)をタプルスペースに書き込もうとすると発生すると発生する
例外です。...

Rinda::TupleSpace#notify(event, pattern, sec = nil) -> Rinda::NotifyTemplateEntry (36.0)

event で指定した種類のイベントの監視を開始します。

...監視期間を秒数で指定できます。 nil で無限に監視し続けます。

event として以下の3つを指定できます。
* 'write' : タプルが追加された
* 'take' : タプルが take された
* 'delete' : タプルが有効期限切れや上書きされたなどで...
...って監視が終了した場合には 'close' イベントが報告されます。

pattern で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。

@param event 監視対象のイベント(文字列)
@param pattern 監視対象となるタプル...
...e '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])...